- 博客(53)
- 资源 (6)
- 收藏
- 关注
原创 【LLM之基座】qwen 14b-4int 部署踩坑
由于卡只有24G,qwen14b 原生需要 30GB,按照官方团队的说法,他们用的量化方案是基于AutoGPTQ的,而且根据评测,量化之后的模型效果在几乎没有损失的情况下,显存降低到13GB,妥妥穷狗福音,说干就干。
2023-11-17 14:28:20 2805 3
原创 SDMG-R模型学习笔记
商汤出的算法,用于KIE,集成在mmocr包里,需要搭配mmcv一起使用,题外话,mmcv用了hook编程,调试起来还是蛮难的,以后有空再分享下mmcv的框架逻辑。模型结构整体结构可分为三个模块:双模态融合模块、图推理模块和分类模块三个。模型的输入数据由图片、对应文本检测坐标区域、对应文本区域的文本内容构成,如:{"file_name": "xxxx.jpg", "height": 1191, "width": 1685, "annotations": [{"box": [566, 113, .
2022-02-19 10:25:24 3294 2
原创 mysql规范
数据库表设置规范字符集一般选择utf8mb4(MySQL5.5.3以后支持),因为utf8mb4是utf8的超集并完全兼容utf8,能够用四个字节存储更多的字符排序规则一般选择utf8mb4_general_ci,比较和排序的时候更快一个项目一个数据库,多个项目慎用同一个数据库表存储引擎使用InnoDB数据库表命名规范所有库名称必须使用小写字母并用下划线分割,库名与应用名称尽量一致表名称必须使用小写字母或数字并用下划线分割,但是禁止出现数字开头,禁止两个下划线中间只出现数字,如:l
2021-07-01 21:19:56 167
原创 AllenNLP框架学习笔记(数据篇之tokenizers)
tokenizers是数据模块中的一个子模块,在里面主要包含了token与tokenizer的定义和使用,现在做一个简单的介绍,描述字符串是如何载入到TextFields中的。Token简单的token抽象,其属性包括文本,偏移量,pos tag,依存关系等,tokenizer的输出被定义为一连串(list)的Token。Tokenizer分词器类,Tokenizers将字符串分割成独立的token,如果需要自己定义一个分词类的话,通过重写其tokenize方法便可以实现,可分为word-lev.
2021-04-24 18:11:10 1665 2
原创 白话KAFKA之基本概念
上一篇文章提到在不依赖kafka的情况下,如何直接使用python实现生产消费模型,但是也只适用于数据量不是特别大而且对于数据处理的实时性没有那么高的场景,要真正实现大数据的生产消费,那咱不得不聊聊kafka了。由于kafka可以聊的点不少,所以开个新坑写一个系列吧,本篇就先大致介绍一下kafka的基本情况。一个睡前小故事周末睡觉前无聊的刷着手机,某宝网APP突然蹦出来一条消息“为了回馈老客户,猫条买一送一,活动仅限今天!”。买一送一还有这种好事,那我可不能错过!忍不住立马点了去。于是选了两个最香款.
2021-04-24 11:46:27 201
原创 python设计模式之生成器模式
生成器模式是一种创建型设计模式, 使你能够分步骤创建复杂对象,生成器不允许其他对象访问正在创建中的产品。 该模式允许你使用相同的创建代码生成不同类型和形式的对象。又名建造者模式。为什么需要?简化复杂的构造函数。只有当产品较为复杂且需要详细配置时,使用生成器模式才有意义。生成器与其他创建型模式的不同之处在于:它让你能创建不遵循相同接口的产品。应用场景使用生成器模式可避免 “重叠构造函数 (telescopic constructor)” 的出现。当希望使用代码创建不同形式的产品 (例如石头或木.
2021-03-30 21:23:05 533 5
原创 docker进阶速查
介绍关于docker的一些进阶内容,如docker file 中的关键词,后期维护等。dockerfile中的常用关键词关键词描述FROM构建的新镜像是基于哪个镜像MAINTAINER镜像维护者姓名或邮箱地址RUN构建镜像时运行的shell命令COPY拷贝文件或目录到镜像中ADD更高级的复制文件,可以自动解压缩ENV设置环境变量ARG构建参数,类似于env,但是只在构建镜像时有用USER指定用户EXPOSE只是声明.
2021-03-25 20:54:09 90
原创 AllenNLP框架学习笔记(模型篇之初始化与正则化)
初始化在某些情况下,用户想以特定方式初始化模型参数(例如,使用Xavier方法初始化)。不用担心, AllenNLP在包含初始化逻辑的模型构造函数中提供了一种方便的抽象方法,该方法使得基于regex匹配的参数名应用到特定的初始化变得简单。为了初始化单个模型参数,可以在AllenNLP中使用Initializers,Initializers基本上只是Python方法,它们接受张量参数并对其应用一些特定的操作。在大多数情况下,它们只是PyTorch的initializers(在torch.nn.init中的
2021-03-24 20:44:02 368 2
原创 AllenNLP框架学习笔记(模型篇之保存与加载)
通常,用户想在磁盘上保存并加载经过训练的模型。这就是使用AllenNLP的配置文件非常有用的地方,因为加载模型所需的所有内容,包括权重、配置和词汇表,都可以存储在单个tar文件中。在本章中,将介绍三种对模型进行保存与加载的方式。手动保存与加载为了正确地保存和加载AllenNLP模型,我们一般需要有如下文件:模型配置(用于训练模型的规范)模型权重(模型的训练参数)词汇表在AllenNLP中,模型配置由Params类管理,可以使用to_file()方法保存到磁盘。用户可以使用model.st.
2021-03-13 11:01:26 1550
原创 python编码经验
python推荐使用3.6以上版本,参考google编码风格总结的个人编码经验。编码原则DRY(don’t repeat yourself),不要总是重复自己的代码,抽象问题,提高代码的复用性PIE(Program Intently and Expressively), 意图清楚而且表达明确地编程ETC(easy to change),代码易于变更,降低模块之间的耦合度,遵循良好的设计模式命名规范1.函数使用小写字母+下划线命名,如feature_selection_by_filter,.
2021-03-09 20:14:55 169
原创 AllenNLP框架学习笔记(模型篇之一)
通常,模型在AllenNLP和NLP应用程序中起着核心作用。它们实现将输入转换为输出所执行的计算,并保留通过训练得到优化的参数。在本节中,我们将深入探讨AllenNLP模型的内部工作原理,并提供有关的深入指南。Model 与 Model.forward()AllenNLP使用Model类来实现NLP模型。Model的子类是torch.nn.Module,这意味着每个AllenNLP模型也是一个PyTorch的Module,用户可以将其用作其他任何PyTorch模块,例如,调用模型(调用__call .
2021-02-18 20:17:06 688
原创 AllenNLP框架学习笔记(数据篇之二)
本篇对AllenNLP中关于数据中的 Datasets,vocabulary,DataLoader,sampler做简单的介绍。Datasets数据集被表示为AllennlpDataset对象,是instance集合的一个简单封装,并且与PyTorch的Dataset基本上相同,不同之处在于它还支持某些额外的功能,例如词汇索引。 AllenNLP的DatasetReader在完成读取数据集后返回AllennlpDataset()或者AllennlpLazyDataset()。Vocabulary.
2021-02-06 11:00:35 862
原创 AllenNLP框架学习笔记(数据篇之一)
本文对AllenNLP中关于数据的基本概念 Fields,Instances做一个简单的介绍,同时对Dataset readers类做较为详细的介绍。Fields 与 InstancesFields,即字段, 是Instances的组成部分,在将字段转换为ID并进行批处理和填充后,它们会作为输入或输出转换为模型中的张量。AllenNLP中有多种类型的字段,具体取决于它们表示的数据类型。其中,最重要的是TextFields,它代表一段分词后的文本,这个在后续章节中将会详细描述。其他常用字段类型包括.
2021-01-30 13:42:39 1249 2
原创 AllenNLP框架学习笔记(入门篇)
最近接触到一个很棒的自然语言处理工具——AllenNLP,解决了很多在自然语言处理过程中遇到的痛点问题,开发这个工具也是鼎鼎大名的A2I实验室,然后就去拜读了他们在github上分享的文档(当然,对于本英语渣来说,如果不是中文资料实在是比较少,是不会开启左百度右谷歌模式的),发觉这个框架!真tm棒!后面在打造自己的工作箱时,越发觉得allennlp的工程思维值得每个nlper学习,因此决定深度去阅读其中优雅的代码以及官方文档,并将其记录下来。为什么值得研究工欲善其事,必先利器。在进行自然语言处理的过.
2021-01-25 19:20:02 2629 9
原创 python设计模式之单例模式
随着维护的代码量越来越多,秃然发现自己写代码都不设计一下,结果到后期需求有变动,代码需要进行扩展或者逻辑变动的时候,看着自己之前写的shit般的代码,感叹着逝去的青春。所以,设计模式是很有必要学习的,以后会陆陆续续更新自己学习到设计模型并结合项目经验记录下用法。先从创建型模式开始,第一篇为单例模式。什么是单例模式?让你能够保证一个类只有一个实例, 并提供一个访问该实例的全局节点。为什么需要?控制某些共享资源(如数据库或者文件)的访问权限保护该实例不被其他代码覆盖应用场景如果程序中的某.
2020-11-19 20:38:58 142
原创 python用三种方式实现生产消费模型(进程,线程,协程)
最近用kafka用的比较多,因此对生产消费模型有了不小的兴趣,就想着,如果在没有搭建kafka的情况下,该怎么实现生产消费模型呢?前菜进程:是系统进行资源分配的最小单位,它是程序执行时的一个实例。程序运行时系统就会创建一个进程,并为它分配资源,然后把该进程放入进程就绪队列,进程调度器选中它的时候就会为它分配CPU时间,程序开始真正运行。每个进程都有自己的独立内存空间,不同进程通过进程间通信来通信。线程:是程序执行时的最小单位,它是进程的一个执行流,是CPU调度和分派的基本单位,一个进程至少包含一个.
2020-07-04 18:07:59 719
原创 python 实现字典排序(多条件排序规则,含升序降序)
在现实场景中,存在多条件的排序规则,如,在一批学生中,先按照成绩降序排序,再按照出生日期降序(出生日越晚的年龄越小,越聪明),最后再按照学号升序排列。本文实现两种排序方法,以供参考。测试数据:test_data = [{'name': "小明", 'student_id': 16, 'score': 97, 'birthday': date_to_str('1996-10-24 18:00:00', 0)}, {'name': "小花", 'student_id': 19,.
2020-05-18 13:51:09 6193 1
原创 使用python将excel单元格中指定文字加粗标红
import xlsxwriterout_path = 'test.xlsx'workbook = xlsxwriter.Workbook(out_path)worksheet = workbook.add_worksheet(u'sheet1')bold_red = workbook.add_format({'bold': True, 'color': 'red'})workshee...
2020-03-02 11:33:06 9133 2
原创 python 拼接误换行句子代码
有些文本在解析出来的时候,换行出现了问题,比如:“今天天气很好啊\n所以我出来玩了。”因此我们需要将误换行的句子拼接起来。一开始打算是用递归的思想去做,后面发现python的list也可以用pop,就直接pop更方便了,时间复杂度的话就是O(n)。import resentence_list = ['大家按时打卡的。', '的空间马上到', '肯定撒老大', '健康大使的。','打卡十...
2019-12-15 19:22:50 551
原创 docker命令速查
.解决启动容器后立马退出的问题docker run -dit --name <container_name> <image_id> /bin/bashdocker server gave HTTP response to HTTPS client 问题处理办法在/etc/docker下,创建daemon.json文件,写入:{ "insecure-regi...
2019-12-11 17:42:21 296
原创 使用python将doc文件转为utf8编码格式的txt
最近花了点时间看了会doc的转换,果然官方文档最好用,代码如下:import osimport sysimport fnmatchimport win32com.clientPATH = os.path.abspath(os.path.dirname(sys.argv[0]))doc_path = PATH + '/data/doc/'txt_path = PATH + '/dat...
2019-09-19 14:01:22 2659 2
原创 使用SimHash算法实现千万级文本数据去重插入(python版代码)
前言,最近在搞大量数据插入MySQL的时候悲催的发现速度越来越慢,因为我的数据来多个源,使用流式更新,而且产品要求在这个表里面不能有数据重复,划重点!衡量数据是否重复的字段是文本内容,字段类型是text,…那么问题来了,如何在千万级数据量实现去重插入呢?而且要快!自杀式做法1.管它重复不重复,先插入了再说2.使用group by 先对不能重复的字段进行分组,在用一个having coun...
2019-06-18 16:28:13 11447 22
原创 sentencePiece入门小结
环境搭建1.安装C++源码版step1 安装环境依赖ubuntu系统:sudo apt-get install cmake build-essential pkg-config libgoogle-perftools-devcentos系统:sudo yum install cmake pkg-config gperfools-devel注:如果之前安装过cmake,但是3.1...
2019-06-10 16:53:32 14927 9
原创 python中使用正则表达式去除中文文本多余空格,英文之间的保留
需求在pdf转为文本的时候,经常会多出空格,影响数据观感,因此需要去掉文本中多余的空格,而文本中的英文之间的正常空格需要保留,输入输出如下:input:我今天 赚了 10 个亿,老百姓very happy。output:我今天赚了10个亿,老百姓very happy。代码def clean_space(text): """" 处理多余的空格 """
2019-03-04 20:34:43 7917
原创 windows conda虚拟环境下配置cx_Oracle踩坑小结
前言:如果说本来安装cx_Oracle就是一个历经千辛万苦的过程,那么我这次安装的过程简直是巨坑无比了,现总结如下。限制环境系统:windows 64python:在anaconda3下的创建的虚拟环境,2.7版本,64位其他:已装了PLSQL,oracle clinet是32位的…好,那么问题来了,网上资料说cx_Oracle要和python版本和oracle clinet一致,那...
2019-01-16 20:21:35 867
原创 使用jmeter进行压力测试小结
前言:之前在多台机器上布置了docker,然后用nginx做反向代理,现在用jmeter对搭载的nginx服务器进行压力测试,看看性能如何。jmeter简介JMeter作为一款广为流传的开源压测产品,最初被设计用于Web应用测试,如今JMeter可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP服务器等等,还能对服务器、网络或对象模...
2019-01-11 21:28:32 2366 1
原创 PyText入门(环境搭建和demo实现)
简介12月15日,facebook宣布开源PyText NLP框架。 PyText是一种基于深度学习的NLP建模框架,基于PyTorch 1.0构建。它可以连接 ONNX 和 Caffe2,借助 PyText,AI 研究人员和工程师可以把 PyTorch 模型转化为 ONNX,然后将其导出为 Caffe2,用于大规模生产部署,让模型的建立,更新,发布更加便捷。项目地址:https://gith...
2018-12-21 15:53:34 3953 3
原创 nginx从入门到放弃(三、nginx性能优化)
1.main全局设置worker_processes指定启动多少进程来处理请求,一般情况下设置成CPU的核数,这样每一个worker进程都绑定特定的CPU核心,进程间切换的代价是最小的,如下:worker_processes auto; worker_cpu_affinity在高并发情况下,通过设置将CPU和具体的进程绑定来降低由于多核CPU切换造成的寄存器等现场重建带来的性能损耗,如本机...
2018-11-13 20:30:36 360
原创 python练手小程序之二
判断是否为完全数题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程 输入一个数,判断是否是“完数”。程序分析:对输入的数j进行因子分解(这里的因子不是质因数):(1)初始化一个s变量,将j赋值给s,使用循环和取余来判断1-j中的i是否能被j整除,如是则使用增量赋值s-=I ,即s = s-i。(2)最后判断s是否等于0,6-1-2-3 = 0 和1+...
2018-10-29 20:37:48 374
原创 python练手小程序之一
最近正好在辅导别个python,因此搜罗了一些比较适合新手编写的程序,会把程序和程序分析都放上来。字符分类统计题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。程序分析:利用while语句,以及if elif else多个条件判断。使用到的基本知识有循环,字符处理函数,输入输出,判断。import strings = raw_input('input a st...
2018-10-28 18:24:09 694
原创 nginx从入门到放弃(二、nginx反向代理多服务器上多docker端口)
本次应用的目的是拿nginx做服务器的负载均衡,而且提供的服务已用docker进行部署,该docker提供访问的端口有两个,分别对应不同的服务。因此首先需要查看docker映射的端口,然后通过修改upsteam,location,proxy三个模块达到目的。1.查看docker服务映射的端口netstat -ltunp #查看端口 如上图所示,本机的docker服务端口是...
2018-08-29 18:51:24 9762 2
原创 nginx从入门到放弃(一、离线环境下安装nginx)
1.检查服务器上是否安装好了gcc、g++开发库gcc --versiong++ --version如果没有,则先安装gcc和g++的对应的环境安装包,如服务器系统是centos,则使用以下命令。yum install gccyum install gcc gcc-c++2.源码编译prce,zlib,openssl,nginx如果是windows环境,首先使用...
2018-07-28 15:53:29 2908
原创 使用Python动态生成变量并且赋值,实现数据分组问题
前言在处理一些爬取下来的数据时,存在分组问题,也就说,原来的数据集A中有20个类别,那么按照一般的思维的第一反应来说,我们首先要创建20个列表,然后遍历整个爬下来的数据,做if判断或者case-switch。but,我们用的语言是python,python里是没有case-switch的,因此我们可以使用字典映射的方法来实现case-switch,具体实现代码如下:def number...
2018-06-05 11:45:16 2820
原创 python读写excel数据(list相关)
主要涉及python对excel的操作顺手帮朋友处理毕业数据写的小脚本,她的问题如下:样本前后顺序是固定的。id是升序排列之后的, time_dif表示时间差。想生成新变量count=所在的组里样本的数量。分组的依据为id 和 time_dif,分组规则为在同一id内,从第一个样本开始数,一直到下一个time_dif>5之前的样本分为一组。分组如图所示: 朋友给的数据集里开始已...
2018-03-09 10:58:46 28164
原创 使用Clion调试fastText源代码
前言 最近在导师的带领下开始研究fastText,fastText是由Facebook开源的快速文本分类器,比深度学习快了很多,一般深度学习要4,5个小时才能跑出来的大文本分类,fastText只要数十秒就能跑出来,而且效果比起深度学习来说也差不了多少。可以说是对于一些设备配置没那么好的研究是个福音。然后呢,导师布置了一个任务,既然是研究僧,那么就去深入研究吧!骚年! 好的,既然要读懂源代码,那
2017-07-06 12:25:11 1780 2
原创 爬取bilibili弹幕制作词云
最近有部剧的片花看的很燃,正好我又是主演的fans,于是手痒忍不住把该片的弹幕爬取下来做个词云玩一玩。step 1 获得弹幕的XML文件 B站上的弹幕在静态页面上是没有的,所以还需要费点劲去找。 打开我们的目标视频:http://www.bilibili.com/video/av9979006/?from=search&seid=533845265855630872 右键源代码,然后再CTRL
2017-04-24 11:04:46 7077 5
原创 使用pysolr库操作solr(二 打造属于自己的搜索引擎)
之前有文章讲了基础的如何使用pysolr1操作solr,以及如何使用haystack编写属于自己的搜索引擎,但是呢,老大来了命令,现在是2017年了,咱们不用solr 3那种老版本,就用solr5吧!嘤嘤,也就是说不能直接用haystack框架,要自己写一个了。于是乎,搞事开始。1.环境版本 Django:1.8 (可直接使用pip,指定版本) pysolr:3.6.0 (可直接使用pip,指定
2017-03-18 23:11:06 3678 3
原创 如何破解类似于简书登录的滑动式验证码
简书简书,时隔半年我又来搞事了,之前有在未登录模式下,爬取过简书的专题和 首页推荐文章,而现在在参考网上大神的代码搞过微博、知乎模拟登录后,感觉自己也是棒棒哒,于是开搞简书!一开始也以为最多就是一个验证码的图片咯,毕竟简书这么友好是吧~结果!excuse me??好吧,当时我就懵比了,简书你变了!你怎么不按照套路出牌?!但是,本人是不会轻易咽气的,科科,小样,我还能百度呢。调出firebug 查看
2017-03-12 00:10:13 2635
原创 使用Django haystack集成solr编写搜索引擎(一)
1.环境配置 这一点很重要!请一定看仔细了!就是由于版本的不匹配,导致本博花了一天的时间在debug上,虽然solr 5.0.0的版本界面好看,然而不兼容haystack,这一点在踩过坑的人debug时得到了验证,haystack源码中solr_backend中有这么一段注释: 之后本博尝试去修改框架中的代码,力图让其能够和solr 5 兼容,但实在能力有限,无法读懂haystack里面得弯
2017-03-01 15:30:55 1233 1
原创 使用pysolr库操作solr(一)
1.环境准备 首先需要在本地安装好solr和pysolr。 solr现在更新到了6代,出于稳定性和pysolr兼容性的考虑,选择使用5.0.0版本,下载地址:http://archive.apache.org/dist/lucene/solr/5.0.0/。 至于如何安装以及对solr的初次体验,可以看我之前转载的文章: 【Apache Solr入门教程(初学者之旅) 】 http://bl
2017-02-24 18:52:32 6858 1
webpy以及其依赖离线安装包
2018-09-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人