pytorch
前行的zhu
程序员小白的前行之路
展开
-
super()的作用
1,在类的继承中通常会有super(),这个机制保证了公共父类仅被执行一次,一般对于三层以上的继承,后续的类继承的父类们可能也会有相同的父类,但是如果使用一般的继承,相同父类会被继承多次,没有必要且对资源也是一种浪费,为了解决这个问题,于是产生了这个机制。需要注意的是在继承公共父类时,多个子类共同产生孙类时,其行为是入栈操作,也即先进后出。可以看出是B先进后出。......原创 2022-08-04 00:57:18 · 191 阅读 · 0 评论 -
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 · 2217 阅读 · 0 评论 -
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 · 27069 阅读 · 2 评论 -
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 · 15424 阅读 · 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 · 30474 阅读 · 9 评论 -
关于错误runtimeerror: CUDA out of memory. Tried to allocate 1.17 GB
错误如题所述,我也尝试了网上其他人的方法,但是可能人家的项目代码相对简单,比较容易找到output = net(…)以及x_train 中的requires_grad=True。可能是我的代码层层调用的关系,反正我是找了半天也找不到这方面的东西,修改了一些我认为类似的但是最后发现没什么用。一开始我是将max_sentences由64设置成32,但是就算设置到4,发现仍然会报错。后来在同事的指导下把max_sentences调小后,又把max_sentences_valid设置为了16,然后再跑一下就跑通了原创 2020-06-18 09:51:43 · 10484 阅读 · 0 评论