自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(75)
  • 资源 (2)
  • 收藏
  • 关注

原创 BERT输入以及权重矩阵形状解析

需要注意的是这个维度其实可以是其他值,只不过官方恰巧给的是768=64×12(12个head,每个head是64维),对于Transformer的Encoder来说,这个维度是512,这个时候512≠64×6(6个head,每个head为64维)。Z’向量再乘以一个转换矩阵Wo(768,768)得到最终的Z向量(1,768)。前馈神经网络的维度为3072,由于单个时刻多头注意力的输出维度为(1,768),第一个线性变换的矩阵形状为(768,3072),第二个线性变换矩阵的形状为(3072,768)。

2023-05-21 11:29:47 1580

原创 如何使用re.sub()进行插入而是不替换

该段正则的主要目的就是寻找段落中句子结尾处(也即以句号感叹号问号所在的地方),然后使用换行符“\n”加以切分。但是又不想将上述符号替换,所以在re.sub()函数中的第二部分,使用了r"\1\n\2"来进行插入,此处“\1”的作用就是表示前面匹配的符号(比如句号),“\2”表示的是正则所匹配符号的后一位字符(例如句号后面的“用”等),中间的“\n”表示要插入的符号。当然前面不要忘了加上“r”。需求如题,比如对于下面的句子,我想将段落切分为子句,切分成一行一个子句的格式输出,同时不对原句子的任何字符修改。

2023-05-20 10:15:42 228

原创 一文弄懂熵、交叉熵和kl散度(相对熵)

相互独立的事件的概率具有可乘性,为了使得概率的这种相乘可以和信息量的累加相匹配,所以给事件的概率加上负对数(或者叫做概率倒数的对数),用来定义信息量,而一个系统的平均信息量就叫做这个系统的熵(也叫信息熵),换句话说,一个系统的熵就是这个系统中事件信息量的期望。接下来我们来看看相对熵(更常见的叫法是kl散度),为了更加易于理解,下文都叫相对熵,相对熵其实就是度量两个分布熵的差异,既然是比较,那么就需要有一个基准,对于如下的式子DKL(P||Q),就是以P分布为基准,Q分布相对于P分布的相对熵。

2023-03-20 18:51:08 616

原创 python中typing中的Optional的作用

python中typing中的Optional的作用。

2022-09-07 14:29:25 2113

原创 python中@property的作用

Python中的@property是一个装饰器,主要的作用是改变了类中方法的调用方式,具体的就是类实例化后的对象调用类中的方法一般后面需要加上“()”以表明调用的是方法,如果不加括号,说明调用的是类中的属性,但是经过@property修饰器修饰之后的方法,类实例化后的对象调用该方法时后面变不再需要加上小括号了,看起来就像是调用了类中的一个属性一样。因为这个装饰器所修饰方法的作用就是调用类中的属性,而类实例化对象便可以通过该方法间接调用到类中的私有属性,从而做到了更加规范化。...

2022-08-13 18:44:06 4002

原创 super()的作用

1,在类的继承中通常会有super(),这个机制保证了公共父类仅被执行一次,一般对于三层以上的继承,后续的类继承的父类们可能也会有相同的父类,但是如果使用一般的继承,相同父类会被继承多次,没有必要且对资源也是一种浪费,为了解决这个问题,于是产生了这个机制。需要注意的是在继承公共父类时,多个子类共同产生孙类时,其行为是入栈操作,也即先进后出。可以看出是B先进后出。......

2022-08-04 00:57:18 177

原创 如何用pip从阿里云镜像下载python包

代码如下,install后面跟你想要下载的python包以及对应的版本,–index-url后面跟阿里云镜像所在的地址,–trusted-host表示对阿里云添加信任,不然有时候无法成功下载。比如想下一个transformers的库,命令如下:pip install transformers --index-url http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com...

2022-03-08 12:17:55 3856 1

原创 队列的链表实现(python语言)

#定义链表中的结点类class Node: def __init__(self): self.data = None self.next = None#定义队列类class YouQueue: #初始化头结点,front和rear两个指针指向这个头结点 def __init__(self): head = Node() self.front = head self.rear = head #

2021-10-28 18:37:44 359

原创 mac下载python的路径在哪?

问题入标题,当我们去官网上下载了指定版本的python并安装之后,想要将pycharm中的解释器更换成我们刚下载的python,但是由于mac安装不像windows可以明确的指定安装路径,所以导致有可能你安装完python之后却不知道python被安装到了什么位置,进而在使用pycharm时无法知道python解释器的路径。mac(我的macos是10.15.6)下有一个路径“/Library/Frameworks”里面的“Python.framework”文件夹下包括 Python 可执行文件和库,详见:

2021-08-10 17:10:59 2346

原创 如何使用curl命令发送json格式请求体的post请求

需求如题,也看了一些博客,发现写的对新手都不太友好,总体上也满足不了我的需求,所以写了这篇博客总结一下。直接上完整的命令:curl 'http://192.168.50.253:50081/hosp/qc/v2/emrdata' -H "Content-Type:application/json" -H 'Authorization:bearer' -X POST -d '{"Id":"12330245","visitTimes":1,"docType":"散文","docId":"36e5854f5f0

2021-05-12 17:16:13 6388

原创 pycharm调试时出现unable to display children:Disconnected

问题如上,使用pycharm调试代码的时候,当我想看一下某个元素的值时,出现了上述问题,具体见下图:问了下同事,导致这种情况的原因是元素太大了导致内存溢出,从而显示不出来了,此时可以使用pycharm中的Evaluate这个小工具,具体位置见下图,就是那个有点像计数器的图标:我们需要将有目标元素的那一行代码复制到Expression下面的框中,然后点击Evaluate那个按钮便可以得到目标元素的值了。...

2021-05-06 18:13:11 3192

原创 安装了多个python版本,如何向指定的python版本中安装包

需求如题,有时候我们电脑里面安装了不同版本的python,比如我电脑上安装了python3.6和python3.7两个版本,现在我项目使用的是python3.7,我想在python3.7这个解释器上安装一个叫pykka的包,该如何做呢?1,首先找到python3.7的安装路径,建议直接到pycharm中的Python Interpreter中找:例如我的python37安装目录为:"/Library/anaconda3/envs/python37/bin/python ".2,在命令行首先输入上述路

2021-03-30 15:49:20 4359 5

原创 python中的from后面一个点或者两个点是什么意思

问题如上,我们在使用python导入包或者库的时候有时候会遇到包前面有一个点或者两个点的情况。如上图,from后面的程序word_unify_dict前面有一个原点,这个原点其实就表示当前程序所在的路径的意思,也就是说当前程序是从同一路径下的word_unify_dict这个程序中import了norm_word_dict。这个和我们的路径用法是高度一致的。“./”表示当前路径,那么from后面的一个原点就表示当前路径,“…/”表示程序的上一级目录,那么from后面的两个原点就表示程序的上一级目录。

2021-03-29 11:44:23 9717 2

原创 pymysql.err.OperationalError: (1040, ‘ny connections‘)

问题如上,确实困扰了我很久的一个问题,这个问题很可能是由于开启的会话session不是复用的,然后太多的session可能导致再次请求数据库时会发生拥堵,此时就需要将这些session产生的数据库连接回收掉,mysql默认的回收时间是8个小时,也就是28800秒,我这里设置为了60s然后问题解决具体的代码就是在生成create_engine的时候进行添加:self.engine = create_engine(f"mysql+pymysql://{user}:{password}@{host}:{po

2021-03-16 18:54:21 8527 6

原创 如何使用siege对后端接口进行压力测试

进入电脑终端后执行以下命令:siege -c 100 -r 5 -b'http://192.168.101.173:31003/demo/interface_name POST'没有安装siege的先安装,这里的“-c 100”指的是并发量是100,“-r 5”指的是发送请求的次数是5次,-b指的是请求等待时间默认为0,单引号中的内容便是接口的地址,尾部的POST表示请求方式,注意这里的引号是不能省略的,如果省略则默认的是GET请求了,测试返回的值会出错。...

2021-03-16 09:03:02 266

原创 如何使用chmod给一个文件夹下的多个文件修改权限

工作的时候需要将一个文件夹下的所有文件或者文件夹修改为可读可写可执行,但是网上简单搜了一下发现好像没有直接的答案,后来还是在菜鸟教程里发现了具体的方法,连接如下:菜鸟教程其实就是在chmod命令后面添加一个R参数即可,比如我有一个dist文件夹,文件夹的内容如下:可以看到,dist文件夹下面有好几个文件夹以及文件,我们现在的需求就是将dist文件夹下的所有文件和文件夹的权限进行统一修改,只要执行以下的命令就可以了:chmod a+rwx dist需要注意的是,这个命令需要在dist文件的目录下执

2021-03-01 17:08:31 5564

原创 postman发送请求时报错:500 Internal Privoxy Error

我们在使用postman请求时报错500 Internal Privoxy Error,具体的错误图如下:网上我搜了一下相关的解决方法,试了一下都没啥用,后来看了一篇介绍postman的知乎文章,上面详细说明了代理服务的工作原理,【接口测试】Postman入门11 Postman的代理(Proxy)我结合这个报错信息,于是尝试着将它默认的代理修改为localhost,具体就是到Settings中的Proxy选项中进行了设置,然后勾选上Add a custom proxy configuration就可

2021-01-21 14:00:13 21082 6

原创 python中使用readlines()读取时出现读取结果为空的情况

我在使用readlines()方法读取一个1.8万行的txt文件时,发现得到的结果却是空的,with open('THUOCL_medical.txt','r',encoding='utf-8') as file,\ open('THUOCL_new.txt','w',encoding='utf-8') as file2: lines = file.readlines()也就是debug的时候,lines是一个空列表,一开始我还以为是内存不够,后来搜索了一下相关的文章,感觉并不是这个问

2021-01-20 10:26:49 8079 2

原创 python中元组如何转成字典

工作中遇到需要将元组转换成字典,但是网上搜了一下,都没有得到较好的答案,然后看了一篇文章说元组是不能直接转换成字符串的,傻傻的我还在寻找为什么使用dict()不能转换,既然直接转换行不通,那么间接方式可以很方便的做到的。我的元组数据为:[('盗汗', 11), ('红斑', 7), ('多梦', 7), ('嗳气', 5), ('肝硬化', 5), ('白血病', 4), ('消瘦', 4), ('压痛', 2)]也就是列表的元素是元组,然后我的目的很简单,就是想让‘盗汗’这种汉字作为key,‘11

2021-01-12 17:31:15 12379 6

原创 如何对value是列表的字典根据key进行排序,然后再对单个的value,根据列表中的元素进行排序

情况稍微有点复杂,语言描述有点乏力,先上需求:如下所示的字典,key的格式是“字母+数字”,value则是一个列表,并且列表中的元素格式和key是一样的,但是这个列表可能有多个值,我的需求有两个,一个是先让字典按照key中数字的大小从小到大排列,二是对于每个value,也要得到按照每个元素中的数字从小到大的排列。chunk_rel_dict = {'T20':['T19','T2','T3','T24'],'T21':['T19'],'T22':['T19'],'T17':[],'T18':[],'T1

2020-12-03 15:02:56 455

原创 关于使用tfds.load()函数加载tensorflow_datasets数据集由于网络无法加载的问题

当我们想要在本地运行一下tensorflow的一些demo时首先要做的就是加载数据集的问题,但是由于国内网络的问题加上tensorflow_datasets的数据集一般都是几百兆甚至一两个G,所以很容易劝退我等小白,既然网络直接加载数据集几乎不可能成功,那么一个比较容易想到的解决办法便是提前将数据集下载到本地,然后从本地加载tensorflow_datasets的数据集。以tensorflow中的transformer葡萄牙语-英语翻译为例,我们需要加载的数据集为:ted_hrlr_translate/

2020-11-23 18:00:42 4639 2

原创 正则表达式学习之字符匹配

系统学习正则表达式时开始往往就是要学习到正则表达式中字符匹配,先上一张常见的图:接着说一下我个人的理解帮助记忆,也算是学习正则表达式时的一些小心得。首先得明白一点正则表达式时用来干嘛的,根据百度百科的定义,正则表达式的作用有二:给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”):可以通过正则表达式,从字符串中获取我们想要的特定部分。可以看出,正则表达式无论要实现过滤还是提取的功能,最基本的都是要实现匹配,当然一般就是指字符的匹配了。首先说说第一个转义符“\”,顾名思义就是将原来符号的意思

2020-10-28 10:00:33 623

原创 python中如何将一个文件的内容分开写到另外两个文件中

目的如题,原先的数据格式如下:每一行代表一个数据,第一类为标签,后面的列表为数据,因为这是原始数据,我现在想要把标签和数据分别存到不同的文件中去。代码如下:data_path = './train1.txt'with open(data_path,'r',encoding='utf-8') as file1,\ open('train_label.txt','w',encoding='utf-8') as file2,\ open('train_data.txt','w',encod

2020-10-22 14:11:05 2068

原创 python中re.search()函数的用法

说到使用正则匹配字符串,就不得不说三个常用的匹配检索方法:re.search(),re.match()和re.findall()。主要的区别是前两个方法只在目标字符串中匹配一次满足条件的正则表达式;而re.findall()方法匹配目标字符串中所有满足条件的正则表达式;另外re.match()只会匹配目标字符串开头是否满足正则表达式,若开头不满足则匹配失败,函数返回None;而re.search()则不限位置。至于具体的细节,请参考:Python 正则表达式我这里想说的是re.search()方法的

2020-10-15 14:35:26 26490 2

原创 Couldn‘t refresh skeletons for remote interpreter:Can‘t get remote credentials for deployment server

问题如图,当节假日回来准备继续工作大干一场的时候,使用pycharm运行之前在服务器上的代码时出现了上述的报错,最后的解决方式如下:1,首先查看一下本地pycharm对应服务器上的container容器是否开启,进入服务器后,linux下查看容器状态的命令为:docker ps使用上述命令后没有显示你的容器则表明你的容器没有启动,再使用以下命令查看你的容器名称和状态:docker ps -a查看到本地pycharm对应的容器后,使用以下命令开启:docker exec -it CONTAIN

2020-10-09 14:00:22 4655

原创 如何替换元素为字典的列表中的元素

问题如标题,也就是一个列表中的元素为字典时,如何替换指定的字典呢?举个具体的例子:现有一个列表如下:list = [{'1':'A'}, {'B':'2'},{'3':'C'}]我想将{‘B’:‘2’}替换为{‘2’:‘B’}代码如下:new_list = [{'2':'B'} if i == {'B':'2'} else i for i in list]...

2020-09-27 16:04:38 1312

原创 怎样使用Git进行bug修复分支管理(廖雪峰学习笔记之Git)

问题如标题,在看到廖雪峰关于使用Git进行bug修复分支管理时,总体上是写的很明白的,但是一些细节上经过了自己的摸索后才算搞明白了,先将学习心得分享如下:首先将大佬的关于Git学习中的Bug分支的学习资料贴出来供大家学习:https://www.liaoxuefeng.com/wiki/896043488029600/900388704535136我大致总结一下,就是我们在修复bug时,一般会通过在master分支(主分支)中新创建一个分支进行修复,然后合并到主分支上,最后将创建的该分支删除。但是更

2020-09-15 16:24:34 1532

原创 python根据文本特征进行切块处理

如下是使用ocr识别出来的病历文本,我想要将之切为“症状”、“检查”和“化验”三部分完整数据及代码如下:lines = ["北京协和医院~病案记录~姓名~任~发~君~2~病案号1~5~40000~2008-9-5~首次病程记录~、本例特点:~1、中年男性,急性起病,病程3月。~2、主要表现为车祸撞伤后乏力、头晕、头痛,嗅觉减退,视力下降,无意识障碍,食欲可。~28~外院检查提示低血钠,血钠最低123mmol/L,尿钠排出增多,经静脉和口服补钠后血钠有所~请~上升,目前未予特殊处理,入院查血钠128mmol

2020-09-09 16:36:43 392

原创 python中如何使用正则表达式将所有符合条件的字段全部提取出来

问题如标题,使用正则表达式匹配字段目前无非就三种,分别是:re.match()re.search()re.findall()简单介绍一下,re.match()与re.search()非常类似,主要区别就是前者是从目标字符串的开头匹配,而后者则要没有这个要求。而re.findall()则是可以返回匹配的所有结果。但是有时候re.findall()返回的结果和前面两个并不一样,我们来看下面一个例子:对于句子:起病以来,患者无腰背痛、颈痛,无咽痛、口腔溃疡,无光过敏、脱发,无口干、眼干,无肢端发作性

2020-08-23 17:50:21 13184

转载 pandas中pd.read_excel()的用法

人们经常用pandas处理表格型数据,时常需要读入excel表格数据,很多人一般都是直接这么用:pd.read_excel(“文件路径文件名”),再多一点的设置可能是转义一下路径中的斜杠,一旦原始的excel表不是很规整,这样简单读入势必报错!其实这个函数有很多参数可以设置,为了应对各式excel表满足各种读入的需求,我们来详细了解下pd.excel()中的主要参数。首先,认识一下pd.read_excel(),函数的官方文档是这么说的:将Excel文件读取到pandas DataFrame中,支持本.

2020-08-18 17:39:54 65872 6

原创 python中如何使用正则匹配以及调换文档位置

想要的操作如题目所示,我的数据格式如下:我的目的是想将“S生育情况 G 2 P 0 E生育情况”从末尾位置放置到开头位置,也就是变为下面这种情况:下面上具体的代码:这里我特意使用了几种pattern去匹配我想要的字符串,我想要匹配的是“|| S生育情况 G 2 P 0 E生育情况”,所以使用了反斜杠“\”来转译竖杠“|”;由于我想匹配的字符串中间的字符是使用空格连接的,所以我使用了“(\s)”或者“[\s]”来匹配空格,注意不能直接使用“(’ ‘)”或者“[’ ']”;由于我要匹配的字符串中的G和

2020-08-13 08:00:39 342

原创 python中如何匹配正则中的空格

自己亲测了几种,要想在python中匹配正则的话,一般得是如下的写法:pattern1 = (\s)pattern2 = [\s]而我以前以为的pattern3 = (' ')或者:pattern4 = [' ']是不行的,也就是说想要匹配空格,得用人家指定的符号来匹配,而不能我们想当然的打个空格就完事的,个人觉得这可能也是为了规范,因为(’ ‘)或者[’ ‘]哪有(\s)或者[\s]来的直观明了,前者看着和(’’)或者[’’]这些空的表示差距是在是太小了,也容易出错。...

2020-08-12 15:01:07 16453

原创 python使用了“utf-8”编码格式向文件写入中文时还是报乱码错误的解决方法

当我们使用python向文件写入中文时,有时中文还是会乱码,使用with open写入中文文本的代码如下:open('grs_new2.json','w+',encoding = 'utf-8') as file2: file2.write(json.dumps(line)+"\n")写入后的文本是这种:像文中这种“\u51fa\u751f\u5730”其实是汉字对应的ASCII编码,比如上述的“\u51fa\u751f\u5730”对应的汉字就是“出生地”,这个很容易通过在线的Unicode

2020-07-30 23:34:59 6430

原创 如何将服务器端的文件或文件夹下载到本地

问题如上所示,企业开发人员的数据和程序很多都是放在服务器上面的,但是有时候需要下载到本地跑一下或者进行修改。我使用的是scp命令。先来看看如何将服务器上面文件下载到本地,直接上命令:scp [email protected]:/data/share/for_zhl/target.txt /Users/zhuhualong/target.txt 其中“zhuhualong”是你在服务器上的用户名,“192.168.202.101”是服务器的IP地址,“/data/share/for_

2020-07-29 23:06:32 32186 1

原创 python怎样比较两个文件的内容并返回相同的内容和下标

问题如题所示,在python中怎样查看并比较两个文件的内容并返回相同的内容和下标,首先需要说明,我的文件是按行存储的,形式如下:具体的代码如下:import osdef read_file(filename1,filename2): path = "/home/zhuhualong/pycharm_proj/pycharm_proj/xbs_symptom_structure/result" filename1_path = os.path.join(path,filename1)

2020-07-28 22:26:10 1058

原创 fairseq简介

fairseq是一个工具包,里面集成了常见的处理文本的一些网络模型,比如使用self-attention的transformer,使用了CNN的lightconv和dynamicconv。我们这里主要介绍一下fairseq包中使用CNN处理文本的网络模型的整体流程和发展。fairseq包中使用CNN模型的流程图如下所示:主要有以下几个模块组成:1,具有位置信息的词嵌入(Position Embeddings)对于输入端,将含有m个单词的句子x=(x1,…xi…xm)映射到词向量空间形成句子向量w=(

2020-07-23 17:14:23 15072 1

原创 RuntimeError: CUDA error: out of memory解决(亲测有效)

提前声明一下,我是在模型测试而不是模型训练时出现这个报错的,至于模型训练报此错误,请参考我的另一片博文:关于错误runtimeerror: CUDA out of memory. Tried to allocate 1.17 GB其实解决方式很简单,原来我程序指定的gpu为3,运行测试代码时就报了标题out of memory的错误,如下图:我将gpu指定为2和3,然后再运行代码就不会报错啦。我又试了一下单独使用gpu为2时发现也不会报错,至于为什么指定3会报错而指定2不会报错,这个目前我还不太清

2020-07-20 11:58:47 30245 9

原创 pytorch使用逻辑回归进行二分类并打印出模型参数

数据格式如下,第一列为标签,分别有0和1两个值;第2到4行分别为输入x的特征,也就是x有三个特征。代码如下:import torch # torch 是一种科学计算框架import torch.nn as nn # torch.nn 神经网络的接口import numpy as np # numpy 科学计算的软件包data = np.loadtxt("train.txt")n, l = data.shapefor j in range(1,l): meanVal = np.me

2020-07-10 17:16:53 833

原创 python中的类是什么?类为什么会有属性和方法?

问题如标题,我个人的理解是,顾名思义,类就是对大千世界的分类,比如可以将自然界的生物分为动物,植物,微生物。当然根据不同的标准也可以分为原核生物和真核生物,或者细胞生物和非细胞生物等。这还只是对生物分类,我们还可以对自然界中的万事万物进行分类,我们可以将材料分为金属,非金属,有机高分子和复合材料;可以将地形分为高原,平原,盆地,丘陵等。除了这些具体的事物,我们还可以对抽象的事物进行分类,比如我们学习的大学专业有工科,理科,文科,我们支付宝账单的消费类型有餐饮,交通,购物等。总之,分类在我们的生活中无处不在,

2020-07-05 16:43:32 579

原创 linux系统下实时查看gpu使用状态

代码如下:watch -n 0.1 nvidia-smi使用的是linux中watch命令以及-n参数,0.1指的是每0.1s查看一下gpu的状态,这里需要注意的是nvidia和smi之间用一个短横杠链接,中间是没有任何空格的,如果加了空格的话,系统会识别不出来这个命令的。显示如下(77%表示的便是即时的gpu占用率,这个数字差不多隔1秒变一次):另外为了实验出所谓实时的具体时间间隔,我分别将间隔时间设置为了1,0.5,0.1和0.01。然后观察gpu的使用情况,从实际情况看,0.1和0.01是

2020-06-18 10:42:16 1705

stopwords.txt

中文停用词表,共3185个停用词,该列表是本人搜集了网上目前比较热门的中文停用词表然后去重后又根据自己的实际业务人工添加了三四百个停用词得到的。

2021-01-20

medicine_dict_test.txt

中文医学分词词典,结合了网上的资源以及清华的医学分词词库,然后进行去重之后得到的42万个词语组成的医学分词词库,虽然其中含有人名公司名等,但是并不影响具体的使用,本人已经用于具体的业务,确定是没有什么大问题的,中文医学领域的分词效果还不错的。

2021-01-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除