自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Lisen’s blog

NLP菜鸟之路

  • 博客(75)
  • 资源 (45)
  • 收藏
  • 关注

原创 论文笔记 - ULTRA-SPARSE MEMORY NETWORK

qi每次检索可以获得2个分数,一个是kj块的分数,另一个是kj种每个key的分数,基于这2个分数相加得到一个二维逻辑查询表,从value中抽取出相应的向量进行加权求和。对于较小的模型(如 151M 参数模型),UltraMem 层被插入到 Transformer 的特定层之间,例如在第 3 层插入,得到的输出添加到第3层的输出和第 5 层的输入里面。当记忆表value的规模变得非常大时,查询向量在检索过程中会面临更高的难度,因为需要在庞大的候选集中找到最相关的值,这可能导致检索效率下降。

2025-03-12 17:00:01 895 1

原创 (真实有效)NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver.

NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

2024-07-19 15:30:33 308

原创 conda多个环境下,怎么让jupyter在某个环境下运行?

我现在遇到一个问题,我在linux上装了2个环境,分别为pax和max,然后我在max上启动jupyter notebook,但是呢,我发现访问的orbax包还是pax上的版本。确保在启动 Jupyter Notebook 时,使用的 Python 环境是你在 max 环境中安装的 Python。在 max 环境中安装 Jupyter Notebook 的内核,然后在启动的 Notebook 中选择对应的内核。你可以在激活 max 环境后,直接使用该环境的 Jupyter Notebook。

2024-07-03 11:00:18 484

原创 矩阵混乱度(熵值)代码计算

极端混乱度,熵值最大。最大值为log_2(dim),实例的dim为4,索引log_2(4) = 2。极端混乱度,熵值最小,最小值跟矩阵的维度无关,基本都为0。增加混乱度,熵值减小。

2024-04-19 14:13:59 993

原创 将tmux窗口中的内容导出至文件中

【代码】将tmux窗口中的内容导出至文件中。

2024-01-09 14:32:05 2330

原创 vim批量多行缩进调整

vim多行缩进调整

2023-11-14 13:30:24 3358 1

转载 np.memmap的用法

内存映像文件是一种将磁盘上的非常大的二进制数据文件当做内存中的数组进行处理的方式。NumPy实现了一个类似于ndarray的memmap对象,它允许将大文件分成小段进行读写,而不是一次性将整个数组读入内存。memmap也拥有跟普通数组一样的方法,因此,基本上只要是能用于ndarray的算法就也能用于memmap。使用此子类的另一种方法是自己创建mmap 对象,然后直接使用ndarray .__ new__创建一个ndarray,传递在其’buffer ='参数中创建的对象。磁盘上的文件是只读的。

2023-10-31 17:15:49 906

转载 解决jupyter notebook启动需要密码问题终极办法

在终端中输入“jupyter notebook --generate-config”,会生成一个新的py文件用于config,可以看到输入命令以后会有一个路径指示新生成的py文件,我们根据这个路径找到这个文件。对于这种情况,只需要打开另一个终端(cmd),然后按照图中的输入“jupyter notebook list” ,然后就会看到所需要的token,使用token替代密码登录进去即可。这种情况需要换一个命令,同样开启一个新的终端,并输入“jupyter notebook password”来修改密码。

2023-10-09 11:38:27 5189 5

原创 在本地仓库新增远程已有分支并同步远程分支的代码

本地新增远程分支

2023-02-16 16:39:22 555

原创 Facebook的ZeRO算法原理及简单代码实验(小显卡训大模型)

ZeRO算法将显存优化到底

2022-08-09 15:20:06 3679 2

原创 git创建远程仓库并将本地和远程仓库关联

1、在github创建新项目假设地址为:git@github.com:zhangsan/AI.git2、初始化本地仓库并和远程仓库进行关联在本地需要上传的文件夹下执行git config --global init.defaultBranch mastergit initgit remote add origin git@github.com:zhangsan/AI.git3、提交本地文件至远程ps: 这里需要注意,如果在1创建项目时,建了readme或者.gitignore文件,那么需要

2022-04-29 14:38:30 1901

原创 git在已有分支上创建新分支

1、基于已有分支在本地创建新分支git checkout -b yourbranchname origin/oldbranchname2、将新分支推送至远程仓库git push origin yourbranchname

2022-04-07 16:18:00 3308

原创 《Relation Memory Argument Language Model》论文笔记

先看一些例子:论文相关细节实体提取方法:采用《Ratinov and Roth, 2009; Nadeau and Sekine, 2007》提取。关系检索方法:提取之后进行关系检索,因为简单,所以关系三元组的检索采用关键词检索。实体打分采用tf-idf 。Top-K分数的实体被用来检索关系。这里的实体都是从看到的文本中提取的。但是训练的时候是提前提取好的,然后检索。评测的时候,采用Dynamic OpenIE(关系不光是从之前看到的文章里面提取,也可以从训练集提取,没跑一个batch检索

2022-03-21 10:43:21 1199

原创 《GNN-LM: LANGUAGE MODELING BASED ON GLOBAL CONTEXTS VIA GNN》论文笔记

Openreview:三位评委得分分别为6, 8, 10,单项满分8分:方法独特,对语言模型有很大的改进,取得sofa。但有些实验做的不够,比如选择的token数量;10分:非常好,ppl显著降低,利用外部知识促进语言模型,方法独特;6分:只比较WikiText-103数据,其他两个数据集没比较,实验很多细节没有公布,复现性差。先看个例子:GNN构造:首先对训练集所有token的隐层向量进行缓存节点:2种类型节点,当前上下文的token和从外部检索得到的token边:2种类型

2022-03-11 18:00:34 1759

原创 pytorch分布式训练,支持单机多卡,多机多卡

参考:https://zhuanlan.zhihu.com/p/373395654本人手撸简单的GitHub项目地址:https://github.com/Lisennlp/distributed_train_pytorch

2021-07-01 16:19:24 709

原创 apex和pytorch autocast混合精度训练速度和时间对比

众所周知,自从pytorch更新1.6版本之后,就引入了自家的混合精度训练模式(下面统称autocast),这种方法简单,只需要添加几行代码即可实现,可以说是pytorch爱好者的福音。autocast在面对主流的apex时,是完爆还是被吊打呢,请看下面分析:模型架构:Transformer-xl环境:python3.6.9 、torch1.7.1、cuda==10.11、即不用apex,也不用autocastbatch size = 1占用内存:7561M,每个batch的时间为285

2021-06-23 19:04:12 1842 8

原创 linux shell 遍历某个文件所有行或文件夹所有文件

遍历文件所有行#!/usr/bin/env bash# IFS指定换行符号,不然遇到空白符就会换行,是个坑IFS=$'\n'. for line in `cat file_list/train_file_list.txt`;do echo 处理文件: $line python main.py $linedone遍历文件所有行#!/usr/bin/env bashIFS=$'\n'. for file in `ls file_list/`;do echo 处理文件: $

2021-05-21 14:21:18 1073

原创 论文笔记 -《All NLP Tasks Are Generation Tasks: A General Pre-training Framework》

1、摘要  随着NLP技术的发展,越来越多的新的预训练架构不断刷榜,包括自回归模型(例如GPT)、自动编码模型(例如 BERT)和编码器-解码器模型(例如 T5)。自然语言处理任务在本质可以分为分类、无条件生成和条件生成。但是,目前没有一个预训练框架能够很好地完成所有任务。而在本文中,提出了一种通用语言模型(General Language Model,GLM)来解决这个问题。GLM模型结构有三个主要优点: (1)用一个模型就能在它分类、无条件生成和条件生成任务上表现良好; (2)改进了预训练-微调一致性

2021-04-18 16:57:02 1047

原创 论文笔记 -《ERNIE-DOC: The Retrospective Long-Document Modeling Transformer》

1、摘要Transformer不适合处理长文件输入,因为,随着文本长度的增加,消耗的内存和时间是N2的指数级增加。也有很多学者,通过截断一个长文档或应用稀疏注意机制,在一定程度上可以解决上下文碎片问题,但起到的作用有限。在这篇文章中,作者提出了一个预训练语言模型 ERNIE-DOC,是一个基于Recurrence Transformers(Dai et al., 2019) 的文档级语言预训练模型。本模型用了两种技术:回溯式feed机制和增强的循环机制,使模型 具有更长的有效上下文长度,以获取整个文档的

2021-03-14 12:03:23 4512 1

原创 论文笔记 -《Segatron: Segment-Aware Transformer for Language Modeling and Understanding》

1、摘要Transformer对于序列建模是非常强大的。几乎所有最先进的语言模型和预先训练的语言模型都基于 Transformer 体系结构。然而,它仅仅使用标记位置索引区分顺序标记。论文中作者提出一个假设:更好的上下文表示是不是可以从Transformer中产生更丰富的位置信息?为了验证这一点,作者提出了一种分段感知(Segatron)Transformer,将原来的Token位置编码替换为对应段落、句子和Token的联合位置编码。本文首先在 Transformer-XL 中引入了Segatron-aw

2021-03-09 17:31:03 399

原创 linux下删除含有非法名字的文件

有时候莫名其妙的在linux系统上写入了某个含有非法字符的文件,以至于使用mv,rm等命令都无效,甚是烦扰解决首先利用 ls -i 查找IDfind ./ -inum ID号 -exec rm ‘{}’ ;

2020-12-24 15:20:34 828

原创 pandas赋值失败问题解决

pandas对整列赋值这个比较正常,一般直接赋值就可以:x = pd.DataFrame({'A': ['1', '2', '3', None, None], 'B': ['4', '5', '6', '7', None]})x['A'] = ['10', '11', '12', '13', '14']pandas对非整列赋值1、用单个值赋值x = pd.DataFrame({'A': ['1', '2', '3', None, None],

2020-11-27 11:48:51 6284 4

原创 git强制pull远程仓库代码,覆盖本地代码

git fetch --allgit reset --hard origin/mastergit pull

2020-11-16 14:53:34 2177

原创 mac忘记mysql密码怎么办

1、关闭mysql服务老版本: sudo /usr/local/mysql/support-files/mysql.server stopmac新版本:sudo /usr/local/bin/mysql.server stop或者系统偏好里有个 MySQL 里关闭2、进入mysql各种执行文件的 目录新版本: cd /usr/local/mysql/bin老版本: cd /usr/local/bin3、获取权限sudo su4、重启服务器./mysqld_safe -

2020-11-09 10:16:34 8806 2

转载 Git项目迁移

Git项目迁移目的: 需要将gitlab.xxx.com地址的项目库迁移到gitlab.xxxx.cn地址库里面;实现方式 (都在一个文件夹中操作)1.将代码从之前的仓库中拉下来git clone http://xxxx.git (http://xxxx.git为要转移的代码库地址)拉取分支信息git branch -aimage.png3.拉目标分支git checkout -b dev origin/dev (dev是分支名称)4.更改本地gitlab地址为新的gitlab地址gi

2020-11-02 16:45:25 415

原创 使用frp配置内网访问(穿透)教程(超详细,简单)

1 Frp介绍frp 是一个开源、简洁易用、高性能的内网穿透和反向代理软件,支持 tcp, udp, http, https等协议。frp 项目官网是 https://github.com/fatedier/frp,frp工作原理服务端运行,监听一个主端口,等待客户端的连接;客户端连接到服务端的主端口,同时告诉服务端要监听的端口和转发类型;服务端fork新的进程监听客户端指定的端口;外网用户连接到客户端指定的端口,服务端通过和客户端的连接将数据转发到客户端;客户端进程再将数据转发到本地服务,

2020-10-24 18:15:58 243150 85

原创 python多线程、多进程处理单个(大,超大)文件

1 多进程import osfrom multiprocessing import Pooldef safe_readline(f): pos = f.tell() while True: try: return f.readline() except UnicodeDecodeError: pos -= 1 f.seek(pos)

2020-10-14 14:12:16 5451 5

原创 手动分开计算交叉熵每个位置的loss值

交叉熵loss函数交叉熵损失函数最后得到的是所有位置的平均loss,如果我们想要知道每个位置的loss多少,可以分开计算,如下例子所示:import torchfn = torch.nn.CrossEntropyLoss()logits = torch.tensor([[0.7595, 0.3526, 0.0479, 0.6684], [0.5149, 0.4248, 0.5377, 0.9349], [0.0801, 0.2237, 0.2990, 0.3178]

2020-10-13 17:52:01 702

原创 python操作Excel和Docx并控制文字的颜色及其他样式(通俗易懂)

1、Excelfrom xlsxwriter.workbook import Workbookworkbook = Workbook(r'test.xlsx') # 创建xlsxworksheet = workbook.add_worksheet('A') # 添加sheetred = workbook.add_format({'color':'red'}) # 颜色对象worksheet.write(0, 0, 'sentences') # 0,0表示row,column,sen

2020-09-29 18:38:19 2264 2

原创 论文笔记 -《Revisiting Few-sample BERT Fine-tuning》

1、摘要  这篇论文主要研究了数据集上如何有效地使用 BERT finetune问题,首先,论文提到在BERTADAM 优化器中遗漏了梯度偏差校正,不利于模型的finetune,尤其是在小数据集上,训练初期,模型会持续震荡,进而会降低整个训练过程的效率,减慢收敛的速度,导致微调不稳定性。其次,BERT 网络的某些部分为微调提供了一个不利的训练起点,并且通过简单地重新初始化这些层可以加速学习并提高性能。最后,提到了训练时间的影响,并观察到常用的方法往往没有分配足够的时间进行训练,就是没有训练完全,需要增大训

2020-09-27 15:55:42 1363

原创 git本地创建新分支与远程仓库关联以及拉取新的远程分支

一、查看分支a、git branch 查看本地所有分支b、git branch -a 查看远程所有分支二、创建本地创建分支并切换到该分支git checkout -b 新分支名创建分支,但不切换git branch 新分支名三、将二中创建的分支关联远程仓库git push --set-upstream origin 分支名四、从远程仓库拉取本地不存在的分支git checkout -b 本地分支名 origin/远程分支名如果出现报错,则先执行git fetch,在执行

2020-09-21 17:09:38 2661

原创 论文笔记 -《Self-Attention Attribution: Interpreting Information Interactions Inside Transformer》

1、摘要  基于 transformer 的模型的巨大成功得益于强大的多头自我注意机制,该机制从输入中学习token依赖并编码语境信息。先前的工作主要致力于针对具有不同显著性度量的单个输入特性的贡献模型决策,但是他们没有解释这些输入特性如何相互作用以达到预测。这篇论文就提出了一种用于解释Transformer内部信息交互的自注意属性算法ATTATTR。文章以 BERT 模型为例进行了以下实验:  (1)提取各层最显著的依赖关系,构造属性图,揭示Transformer内部的层次交互;  (2)用自我注意

2020-08-27 16:07:19 2174 3

原创 git提交中文名文件的终端显示乱码问题

git config --global core.quotepath false

2020-08-17 14:28:11 777

原创 论文笔记 -《Dense Passage Retrieval for Open-Domain Question Answering》

1、摘要  开放域问题回答依赖于高效的文本检索来选择候选段落,传统的稀疏向量空间模型用的较多的有TF-IDF 或 BM25算法,但这些算法仅仅是在词的匹配上进行检索,并未考虑语义的相关性,有很大的局限性。因此,论文提出了一种新的算法来检索候选段落,称之为:DPR算法。DPR算法在 top-20段落文本检索准确率方面比 Lucene-BM25系统高出9%-19% ,这非常有利于后续的QA任务的性能表现。2、解决问题  提高QA领域中问题段落检索准确性3、Dense Passage Retriever

2020-07-19 19:44:05 8459

原创 numpy, tensor cpu和tensor gpu运算时间比较

import timeimport torchfrom functools import wrapsdef timethis(func): @wraps(func) def wrapper(*args, **kwargs): start = time.perf_counter() r = func(*args, **kwargs) end = time.perf_counter() print('{}.{} : {}'

2020-07-07 18:28:02 2532

原创 论文笔记 -《A Mixture of h-1 Heads is Better than h Heads》

摘要  多头注意神经结构已经在各种自然语言处理任务上取得了最先进的结果。 事实证明,它们是过度参数化的,注意力头可以被修剪而不会造成显著的性能损失。 论文提出:根据输入的不同,选择不同的header,提出了专注其中几个header的专家混合模型(MAE)。 MAE使用block coordinate descent (BCD:块协同下降算法)进行训练,该算法交替更新(1)选择header的参数和(2)header的参数。 机器翻译和语言建模实验表明,MAE 在这两个任务上都优于基线模型。 特别是在 WMT

2020-06-15 01:08:56 819

原创 ImportError: cannot import name a 和ModuleNotFoundError: No module named a原因和解决

一定要注意,这两个错误的原因是完全不一样的。ModuleNotFoundError: No module named ‘a’这个错误大家应该经常见到,原因很简单,就是引入包的路径不对。python在编译器比如pycharm运行时,会自动从项目根目录下的目录中寻找相应的包(二级目录),但是,在linux终端运行的时候,只会在当前目录下寻找相应的模块。因此,我们经常会遇到在编译器里面可以正常运行,但是在linux终端却运行失败的情况。解决办法:众所周知,python引入包的路径其实全都在sys.path这

2020-06-02 18:26:26 1197

原创 linux命令行查找指定文件内的内容跨度

grep -B 2 -A 8 --color=always ‘待续’ origin_all.txt | awk ‘/–/{if (x)print x;x="";next}{x=(!x)?$0:x"\t"$0;}END{print x;}’ | shuf -n 20 | sed ‘s/\t/\n/g’解释:–color=always查找内容颜色-B 2 -A 8表示包含’待续’的前2行和后8行,因此,查找出的内容是11行;awk ‘/–/{if (x)print x;x="";next}{x=(!

2020-05-20 12:06:40 551

原创 Linux删除指定时间的文件(比如几分钟前(后),几天前(后))

要执行这个命令分三步:1、先找出该目录下名字符合的文件;2、在过滤出指定之间内的文件;3、执行删除命令。1 找出指定条件的文件 - find 命令比如找出当前目录下的所有txt文件find ./ -name '*.txt'2 找出指定时间的文件找出最后20分钟内访问的文件find ./ -name ‘*.txt’ -amin -20 -ls找出最后1天内访问的文件find ./ -name ‘*.txt’ -atime -1 -ls找出最后20分钟内内修改过的文

2020-05-18 09:51:18 19084

原创 论文笔记 -《ERNIE-GEN: An Enhanced Multi-Flow Pre-training and Fine-tuning Framework for Natural...》

1、摘要  目前自然语言生成的预训工作对于下游任务的偏差问题关注不够。 为了解决这个问题,我们提出了一个增强的多流序列来排列预训练和微调框架 ERNIE-GEN,它通过生成机制和噪声感知生成方法来弥补训练和推理之间的差异。 为了使代更接近人类的书写模式,该框架引入了一个跨越代流,训练模型连续预测语义完整跨度,而不是逐字预测。ERNIE-GEN与现有的预训练方法不同,它将多粒度目标采样结合到预训练数据中,增强了编解码器之间的相关性。 实验结果表明,ERNIE-GEN 在一系列语言生成任务中,包括抽象概括(G

2020-05-14 18:48:01 2103

conda安装及常用命令.doc

conda安装及常用命令

2021-09-16

adamw和adam 优化器相关讲解.docx

adamw和adam 优化器相关讲解

2021-09-16

BaseicTokenizer和FullTokenzier的区别.docx

BaseicTokenizer和FullTokenzier的区别

2021-09-16

bert的uncased和cased的区别.docx

bert的uncased和cased的区别

2021-09-16

Axiomatic Attribution for Deep Networks 论文解析.docx

Axiomatic Attribution for Deep Networks 论文解析

2021-09-16

预训练模型介绍.docx

预训练模型介绍

2021-09-16

在程序中指定GPU的方法.doc

在程序中指定GPU的方法

2021-09-16

修改pip源.doc

修改pip源

2021-09-16

梯度裁剪clip_grad_norm和clip_gradient.docx

梯度裁剪clip_grad_norm和clip_gradient

2021-09-16

使用GPU程序,找不到cuda.doc

使用GPU程序,找不到cuda

2021-09-16

使用私有pypi源.doc

使用私有pypi源

2021-09-16

权重衰减(weight decay)与学习率衰减(learning rate decay).docx

权重衰减(weight decay)与学习率衰减(learning rate decay)

2021-09-16

如何理解Git.docx

如何理解Git

2021-09-16

凝思80离线安装docker.md

凝思80离线安装docker

2021-09-16

如何彻底移除你的 Boot Camp 分区.docx

如何彻底移除你的 Boot Camp 分区

2021-09-16

conda配置规范.doc

conda配置规范.doc

2021-09-16

利用ascii码判断中英文字符.docx

利用ascii码判断中英文字符

2021-09-16

模型训练loss异常原因.docx

模型训练loss异常原因

2021-09-16

控制内存增长TCMALLOC.docx

控制内存增长TCMALLOC

2021-09-16

解决macOS 10.15 软件提示损坏:无法验证开发者等问题.docx

解决macOS 10.15 软件提示损坏:无法验证开发者等问题

2021-09-16

Ubuntu设置swap交换内存.docx

Ubuntu设置swap交换内存

2021-09-16

torch.nn.LayrerNorm.docx

torch.nn.LayrerNorm

2021-09-16

Transformer的位置编码解释.docx

Transformer的位置编码解释

2021-09-16

torch安装.docx

torch安装

2021-09-16

Ubuntu系统中文显示异常,终端无法输入中文.doc

Ubuntu系统中文显示异常,终端无法输入中文

2021-09-16

Weight Decay超参的理解.docx

Weight Decay超参的理解

2021-09-16

viterbi算法通俗讲解.docx

viterbi算法通俗讲解

2021-09-16

Python依赖包迁移(用于离线安装).doc

Python依赖包迁移(用于离线安装)

2021-09-16

self modue和 self childre的区别.docx

self modue和 self childre的区别

2021-09-16

tmux配置规范.doc

tmux配置规范

2021-09-16

tmux配置示例.doc

tmux配置示例

2021-09-16

pytroch谷歌tpu使用教程.md

pytroch谷歌tpu使用教程

2021-09-16

tensorflow_keras+GPU显存按需分配.doc

tensorflow_keras+GPU显存按需分配

2021-09-16

torch.cuda.amp- 自动混合精度详解.docx

torch.cuda.amp- 自动混合精度详解

2021-09-16

torch.einsum.docx

torch.einsum

2021-09-16

python日志规范.doc

python日志规范

2021-09-16

python的ConfigParser模块.docx

python的ConfigParser模块

2021-09-16

python+csv读写错误及写入乱码问题.doc

python+csv读写错误及写入乱码问题

2021-09-16

python常见问题.doc

python常见问题

2021-09-16

centos7下安装python3.doc

centos7下安装python3

2021-09-16

空空如也

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

TA关注的人

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