自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(255)
  • 资源 (4)
  • 收藏
  • 关注

转载 Transformers包中BERT类预训练模型下载链接备份

bin文件文件位置:/transformers/modeling_bert.pyBERT_PRETRAINED_MODEL_ARCHIVE_MAP = { "bert-base-uncased": "https://s3.amazonaws.com/models.huggingface.co/bert/bert-base-uncased-pytorch_model.bin", "bert-large-uncased": "https://s3.amazonaws.com/model

2021-12-06 10:42:49 6

转载 Spacy简单入门

安装Spacypip install spacy导入工具包和英文模型#python -m spacy download en文本处理import spacynlp=spacy.load('en')#分词doc=nlp('Weather is good, very windy and sunny. We have no classes in the afternoon.')for token in doc: print(token)#分句for sent in

2021-11-30 14:43:54 26

原创 使用spacy报错TypeError: Argument ‘other‘ has incorrect type (expected spacy.tokens.token.Token, got str)

这是因为spacy返回是给了你一个对象,而不仅仅是文本。。。使用nlp时,请尝试:sentence = 'The legislation allowed California to be admitted to the Union as what kind of state?'doc = nlp(sentence)for i in doc.noun_chunks: list_2.append(i.text)# 注意这里的i后面要加text,即为i.text才可以。...

2021-11-26 11:10:08 754

转载 Sigmoid和tanh的异同

它们之间存在的细微差别观察sigmoid和tanh的函数曲线,sigmoid在输入处于[-1,1]之间时,函数值变化敏感,一旦接近或者超出区间就失去敏感性,处于饱和状态,影响神经网络预测的精度值。tanh的输出和输入能够保持非线性单调上升和下降关系,符合BP网络的梯度求解,容错性好,有界,渐进于0、1,符合人脑神经饱和的规律,但比sigmoid函数延迟了饱和期。其他满足定义域为R,值域为(0,1)的函数...

2021-11-09 10:04:34 9

转载 python itertools.chain 乘号* 实例

import itertoolsa= ['a','aa','aaa']b= itertools.chain(a)c= itertools.chain(*a)print(a)print(list(b))print(list(c))print结果[‘a’, ‘aa’, ‘aaa’][‘a’, ‘aa’, ‘aaa’][‘a’, ‘a’, ‘a’, ‘a’, ‘a’, ‘a’]

2021-11-03 16:53:04 10

原创 No module named torch_sparse, 及pytorch-geometric安装

pip安装完pytorch-geometric之后,报错No module named torch_sparse,搜了一下,居然是一个大坑,总结一下。网上各种方法都装不上,总是出各种问题,最后还是在官网上面找到安装方法。下面记载一下:第一种方法(别人我不知道,我试着无效):第二种方法(亲测有效):We alternatively provide pip wheels for all major OS/PyTorch/CUDA combinations, seehere网址为:http..

2021-11-02 20:54:54 98 7

转载 pytorch之nn.Conv1d详解

之前学习pytorch用于文本分类的时候,用到了一维卷积,花了点时间了解其中的原理,看网上也没有详细解释的博客,所以就记录一下。Conv1dclass torch.nn.Conv1d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True)in_channels(int) – 输入信号的通道。在文本分类中,即为词向量的维度 out_channels(int) – 卷积

2021-10-27 21:54:33 106

转载 深入简出理解SCIPY.SPARSE.CSR_MATRIX和SCIPY.SPARSE.CSC_MATRIX

一、导入  在用python进行科学运算时,常常需要把一个稀疏的np.array压缩,这时候就用到scipy库中的sparse.csr_matrix函数和sparse.csc_matric函数。  其中csr_matrix:Compressed SparseRowmarix,而csc_matric:Compressed SparseColumnmarix。二、引例这里先放上一个官网的经典例子:from scipy.sparse import csr_matriximport ...

2021-10-26 21:24:51 41

原创 linux 运行shell 出现未预期的符号 `$‘do\r‘‘ 附近有语法错误

运行了多次.sh文件不停地报错如下:1语法错误: 未预期的文件结尾2未预期的符号 `$'do\r'' 附近有语法错误看上面应该是语法错误,但无论怎么改还是报错,经过一番探索发现,自己的文件是从windows里面拷贝到linux的,可能是两种系统格式不一样。解决方法如下:(1)打开notepad++编辑.sh文件(2)notepad++右下角将windows模式改为linux模式也可以这么解决:比如./install20201213.sh:行5: 未预期的符号 `$'{\r''

2021-08-31 21:31:41 166

转载 Linux上查看已安装的CUDA和cuDNN版本号以及如何查看当前pytorch使用的cuda版本

1. 查看CUDA版本cuda默认安装在/usr/local目录,可以使用ls -l /usr/local | grep cuda查看该目录下有哪些cuda版本假设有如下输出:lrwxrwxrwx 1 root root 8 Apr 26 2019 cuda -> cuda-9.0drwxr-xr-x 11 root root 4096 Apr 26 2019 cuda-10.0drwxr-xr-x 11 root root 4096 Apr 26 2019 cuda...

2021-08-31 20:10:58 1008

原创 windows平台下VSCode通过跳板机连接服务器

一、安装openssh我会在后记部分解释为什么这步是必需的。好多人推荐都是使用windows的Powershell来安装:以管理员身份运行window Powershell(windows键+x,然后选(A)[1]),然后键入如下两条命令[2]:第一条命令:Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'(这条是用来检测是否有适合安装的openssh软件,正常情况下应有如下返回:)Name : OpenSSH.Clie

2021-08-24 09:44:33 70

转载 NLP预训练模型6 -- 模型轻量化(ALBERT、Q8BERT、DistillBERT、TinyBERT等)

1 背景模型压缩和加速在工业界应用中十分重要,特别是在嵌入式设备中。压缩和加速在算法层面,大体分为结构设计、量化、剪枝、蒸馏等。本文从这四个方面分析怎么实现BERT轻量化,从而实现BERT模型压缩和加速。2 结构设计通过结构设计来实现模型轻量化的手段主要有:权值共享、矩阵分解、分组卷积、分解卷积等。BERT中也广泛使用了这些技术。以ALBERT为例:矩阵分解:embedding层矩阵分解,分解前参数量 (V * H),分解后(V * E + E * H), 压缩 E/H 倍。权值共享:ALBE

2021-07-21 11:19:02 53

转载 NLP预训练模型5 -- 模型结构优化(XLNet、ALBERT、ELECTRA)

1 背景上文我们从预训练任务优化(NLP预训练模型3 – 预训练任务优化(ERNIE、SpanBERT))和训练方法优化(NLP预训练模型4 – 训练方法优化(RoBERTa、T5))两个角度,分析了如何提升BERT和NLP预训练模型的performance。本文我们从模型结构优化的角度来进行深入分析。模型结构优化一直以来都是比较fancy的工作,优秀的模型结构设计,可以大大提高模型参数的效率,甚至小模型效果可以超过大模型。本文我们以XLNet、ALBERT、ELECTRA为例进行分析。虽然他们也可以

2021-07-21 11:10:50 28

转载 NLP预训练模型4 -- 训练方法优化(RoBERTa、T5)

1 背景上文 NLP预训练模型3 – 预训练任务优化(ERNIE、SpanBERT)我们从预训练任务的角度讲解了如何对BERT进行优化,本文我们从训练方法的角度来讲解BERT优化。训练方法包括数据语料、文本预处理、超参调整等。BERT使用的一套超参,比如batch_size、training steps、optimizer、learning rate,是否还有优化的空间呢?每个深度学习调参侠都知道答案是显然的。虽然BERT在大模型大数据的作用下,对超参不是很敏感,但超参调整始终是模型优化一个绕不开

2021-07-21 10:46:38 39

转载 NLP预训练模型3 -- 预训练任务优化(ERNIE、SpanBERT等)

1 背景前面一篇文章 NLP预训练模型2 – BERT详解和源码分析 中,我们从模型结构、实现源码、实验结果等角度,分析了预训练语言中大名鼎鼎的BERT模型。BERT大幅刷新的GLUE得分,提高了7.7个点之多,甚至有些中文NLP任务上达到了人类水平。那是不是在预训练模型方面就没法进行其他创新了呢,答案显然是否定的。前文中我们也提到了BERT存在的很多缺点,从预训练任务、模型结构、语料数据、模型轻量化等方面我们都可以进行深度优化。本文我们就先从预训练任务的优化讲起。BERT是一个multi-mask任

2021-07-21 10:37:44 72

转载 NLP预训练模型2 -- BERT详解和源码分析

1 模型结构论文信息:2018年10月,谷歌,NAACL论文地址 https://arxiv.org/pdf/1810.04805.pdf模型和代码地址 https://github.com/google-research/bertBERT自18年10月问世以来,就引起了NLP业界的广泛关注。毫不夸张的说,BERT基本上是近几年来NLP业界意义最大的一个创新,其意义主要包括大幅提高了GLUE任务SOTA performance(+7.7%),使得NLP真正可以应用到各生产环境中,大大推进

2021-07-21 10:24:18 166

转载 NLP预训练模型1 -- 综述

1 为什么需要预训练模型复旦大学邱锡鹏教授发表了一篇NLP预训练模型综述,“Pre-trained Models for Natural Language Processing: A Survey”,从多个角度分析了当前预训练语言模型。本文基于这篇文章来分析。邱老师认为预训练模型有三大优势预训练模型从大规模语料中学习知识,对下游任务帮助很大预训练提供了一种更好的参数初始化方式,使得在目标任务上泛化能力更好,收敛速度更快预训练可以认为是一种正则化手段,可以防止模型在小数据集上过拟合。2 预训练简史

2021-07-21 10:01:02 32

转载 使用xshell通过跳板机(堡垒机)连接服务器

总结一下就是为跳板机创建隧道,为服务器创建代理,隧道和代理的端口要一致.前提假设:跳板机 主机地址为:A待登录服务器 主机地址为:Bstep 1、新建跳板机A会话1)连接名称:任意取(如:跳板机)主机:填写跳板机IP或跳板机服务器名称2)用户身份验证填写跳板机A的用户名和密码3)ssh-隧道建立类型:Dynamic(SOCKS4/5)侦听端口:可以自己设置,但必须与待连接服务器的配置一致,如此处假设侦听端口为1080新建好跳板机会话后连接跳

2021-07-16 10:41:53 368

转载 VS Code的Error: Running the contributed command: ‘_workbench.downloadResource‘ failed解决

VS Code的Error: Running the contributed command: '_workbench.downloadResource' failed解决1 问题描述2 解决方案1 问题描述此前,本人参考网上教程在VS Code中配置了“Remote SSH”插件(比如这个教程),本人是在Windows中使用VS Code来连接远程的Linux服务器。但是今天使用遇到了问题Error: Running the contributed command: '_workbench.dow

2021-07-12 20:29:50 4803 16

转载 把BERT模型从单GPU训练转换到多GPU训练但出现StopIteration: Caught StopIteration in replica 0 on device 0.

# Prepare model model = BertForMultipleChoice.from_pretrained(args.bert_model, cache_dir=PYTORCH_PRETRAINED_BERT_CACHE / 'distributed_{}'.format(args.local_rank), num_choices=4) model.to(device)import torch.nn as nn # Prepare mod.

2021-07-04 09:46:52 61

转载 Pytorch之gather的用法

首先了解下函数中的参数:torch.gather(input, dim, index, out=None) → TensorParameters:input (Tensor) – The source tensordim (int) – The axis along which to indexindex (LongTensor) – The indices of elements to gatherout (Tensor, optional) – Destination tensor

2021-06-24 21:03:46 16

原创 list里面装tensor(pytorch的)如何合并起来

问题简述:使用pytorch中tensor时,有时需要将多个tensor合并成一个高维tensor或者是list中装着多个同纬度的tensor,想让这个list转为tensor核心方法:torch.stack()def stack(tensors: Union[Tuple[Tensor, ...], List[Tensor]], dim: _int=0, *, out: Optional[Tensor]=None) -> Tensor:import torch def li.

2021-06-24 20:45:03 30 2

转载 Latex中如何设置字体颜色(三种方式)

1.直接使用定义好的颜色\usepackage{color}\textcolor{red/blue/green/black/white/cyan/magenta/yellow}{text}其中textcolor{...}中包含的是系统定义好的颜色2.组合red、green和blue的值合成我们想要的颜色\usepackage{color}\textcolor[rgb]{r,g,b}{text}其中{r,g,b}代表red、green和blue三种颜色的组合,取值范围为[0-.

2021-06-18 10:13:57 176

转载 torch.clamp()

源于FocalLoss.py损失函数中返回的loss起初是inf, 后续就前篇一律的nan, debug的结果发现代码里出现了probs = log(0), 这不就是出现inf的根源吗? 此处先给出大神的FocalLoss.py,

2021-06-08 20:25:20 34

原创 AttributeError: ‘Tensor‘ object has no attribute ‘bool‘

这个问题是跑b站作者bubbliiiing写的YOLOv4(pytorch版本)代码中出现的问题,具体是计算CIoU的过程中需要将mask的值转化为bool型,作者直接采用的mask.bool,ciou = ( 1 - box_ciou( pred_boxes_for_ciou[mask.bool], t_box[mask.bool] ) ) * box_loss_scale[mask.bool]这个也是版本的问题,将pytorch版本换到1.2.0以上应该就可以解决,不过我的9.0版本的显卡最高也就只

2021-06-01 16:02:55 98

原创 vscode通过跳板机连接远程服务器

配置ssh config配置ssh config来实现跳板机访问可以极大地简化我们的连接流程。一、打开ssh config文件(远程资源管理器 -> SSH Targets -> Configure -> ssh config)二、配置ssh config假设你的跳板机的ip地址为A,目标机器的地址为B,那么在你的config中写下如下配置并保存:Host JumpMachine HostName A # 跳板机的ip地址

2021-05-27 21:52:06 134

转载 torch.contiguous()方法

orch.contiguous()方法语义上是“连续的”,经常与torch.permute()、torch.transpose()、torch.view()方法一起使用,要理解这样使用的缘由,得从pytorch多维数组的低层存储开始说起:touch.view()方法对张量改变“形状”其实并没有改变张量在内存中真正的形状,可以理解为:view方法没有拷贝新的张量,没有开辟新内存,与原张量共享内存;view方法只是重新定义了访问张量的规则,使得取出的张量按照我们希望的形状展现。pytorch与num

2021-05-27 19:59:53 49

原创 Pytorch判断两个tensor是否相等

equal – 张量比较原型:equal(other)比较两个张量是否相等–相等返回:True; 否则返回:Falseimport torcha = torch.tensor([1, 2, 3, 4])b = torch.tensor([1, 2, 3, 4])print(a.equal(b))# 返回结果:Trueeq – 逐元素判断原型:eq(other)比较两个张量tensor中,每一个对应位置上元素是否相等–对应位置相等,就返回一个1;否则返回一个0.impor

2021-05-19 15:07:15 1983

转载 关于ad hoc retrieval的解释

: 信息检索中常提到ad hoc, routing filtering等术语,能否解释一下它们的含义?Answer:TREC刚开始的时候只有两个任务,ad hoc和routing。前者类似于图书馆里的书籍检索,即书籍库(数据库)相对稳定不变,不同用户的查询要求是千变万化的。这种检索就称为ad hoc。基于Web的搜索引擎也属于这一类。后者的情况与前者相对,用户的查询要求相对稳定。在routing中,查询常常称为profile,也就是通常所说的兴趣,用户的兴趣在一段时间内是稳定不变的,但是数据库(更.

2021-05-14 19:45:19 23

转载 Louvain 算法原理 及设计实现

模块度:Louvain算法是一种基于图数据的社区发现算法。原始论文为:《Fast unfolding of communities in large networks》。算法的优化目标为最大化整个数据的模块度,模块度的计算如下:其中m为图中边的总数量,k_i表示所有指向节点i的连边权重之和,k_j同理。A_{i,j} 表示节点i,j之间的连边权重。有一点要搞清楚,模块度的概念不是Louvain算法发明的,而Louvain算法只是一种优化关系图模块度目标的一种实现而已。Louvain算法的

2021-05-13 22:29:01 78

转载 关于最近实践 Bert 的一些坑

前言最近,已经几乎将重心完全放在了如何在 Bert 之上搞事情,主要还是探索 Bert 在分类问题以及阅读理解问题上的一些表现,已经踩了不少的坑,想着把最近遇到的坑都记录下来,帮助大家更好的使用 Bert。几个需要注意的地方文本长度首先注意到的一点是, 随着文本长度的增加,所需显存容量也会随之呈现线性增加, 运行时间也接近线性,因此,我们往往要做一个权衡,对于不同任务而言, 文本长度所带来的影响力并不相同.就分类问题而言, 到一定的文本长度后,模型表现就几乎没有变化了,这个时候再去提升文

2021-05-11 22:40:08 186

原创 BERT微调

bert微调步骤:首先从主函数开刀:copy run_classifier.py 随便重命名 my_classifier.py先看主函数:if __name__ == "__main__": flags.mark_flag_as_required("data_dir") flags.mark_flag_as_required("task_name") flags.mark_flag_as_required("vocab_file") flags.mark_flag_a..

2021-05-11 22:22:21 1125 2

原创 BERT模型fine-tuning

Preface:fine-tuning到底是什么?在预训练模型层上添加新的网络层,然后预训练层和新网络层联合训练。文本分类的例子最典型了,最后加一个Dense层,把输出维度降至类别数,再进行sigmoid或softmax。比如命名实体识别,在外面添加BiLSTM+CRF层,就成了BERT+BiLSTM+CRF模型。这个例子可能不太典型,因为还是加了繁重的网络结构。做多分类和多标签分类时,只需要用到以下四个文件。├── tokenization.py # 所需文件四:用于文本预处理(分字)的文件

2021-05-11 21:59:07 182

转载 TypeError: expected np.ndarray (got DataFrame)解决方法

DataFrame转成tensor这次跑实验的时候我是直接导入了csv表格,但是我使用的是pytorch,所以必须将csv中的数据类型转化成tensor形式,要不然无法跑后面的实验。此时出现的一个错误,找了很多种方法仍然是不行,我尝试过torch.from_numpy()和torch.Tensor(),其结果如下:尝试torch.from_numpy()出错:尝试torch.Tensor()出错:解决方法​​​​​​​:X = torch.from_numpy(X.values)

2021-05-10 09:22:37 643

转载 从csv文件中读取数据,提取数据的方法

数据保存在csv文件中1.从csv文件中读取数据参数header=None的有无(1)没有header=None——直接将csv表中的第一行当作表头# 读取数据import pandas as pddata = pd.read_csv("data1.csv")print(data)打印结果为:(2)有header=None——自动添加第一行当作表头# 读取数据import pandas as pddata = pd.read_csv("data1.csv.

2021-05-09 16:32:05 1632

转载 Python-import导入上级目录文件

假设有如下目录结构:-- dir0  | file1.py  | file2.py  | dir3   | file3.py  | dir4   | file4.pydir0文件夹下有file1.py、file2.py两个文件和dir3、dir4两个子文件夹,dir3中有file3.py文件,dir4中有file4.py文件。1.导入同级模块python导入同级模块(在同一个文件夹中的py文件)直接导入即可。import xxx如在file1.py中想导入file2.

2021-04-26 21:48:27 840

原创 2021-04-17

运行GPU时,出现网上有很多人也遇到这个问题,有人说是 CUDA 和 cudnn 的版本匹配问题,有人说需要重装 Pytorch,CUDA,cudnn。我看了官网,版本是匹配的,试着重装了也不管用,而且我按照另一个系统的版本装也不行。 可以看到每次报错都在 conv.py 这个文件,就是在做 CNN 运算时出的错。 解决方法是引入如下语句import torchtorch.backends.cudnn.enabled = FalseGPU,CUDA,cudnn 的关系是:CU...

2021-04-17 10:47:52 11

转载 将pytorch中的三维tensor另存为csv文件

#!/usr/bin/env python3 import torch.nn as nnimport torch.nn.functionalimport numpy as npi#此案例来源于:https://pytorch.org/docs/master/nn.html#torch.nn.LSTMrnn = nn.LSTM(input_size=10,hidden_size=20,num_layers=2)#输入向量维数10, 隐藏元维度20, 2个LSTM层串联(若不写则默认为1)in.

2021-04-14 20:05:32 210

转载 对列表中的元素是tensor形式,取出后在进行合并的代码块

#对列表中的元素是tensor形式,取出后在进行合并的代码块import torchimport torch.nn as nn import numpy as npv= torch.rand(1,3,5,5)a = torch.rand(1,3,5,5)g = torch.rand(1,3,5,5)print('v = ',v)print('a = ',a)print('g = ',g)cc = [v,a,g]print('cc =',cc)# print('cc =',cc[0.

2021-04-14 20:00:11 99

转载 list里面装tensor(pytorch的)如何合并起来

问题简述:使用pytorch中tensor时,有时需要将多个tensor合并成一个高维tensor或者是list中装着多个同纬度的tensor,想让这个list转为tensor核心方法:torch.stack()def stack(tensors: Union[Tuple[Tensor, ...], List[Tensor]], dim: _int=0, *, out: Optional[Tensor]=None) -> Tensor:import torchdef lis.

2021-04-01 14:56:23 872

ITK-SNAP 3.4(64位)

ITK-SNAP搞医学图像必备利器

2016-11-28

radiomics论文

国内影像组学仅有的几篇论文

2016-11-28

java反编译

很好的class反编译工具,不错一键反编译class文件

2015-11-03

mapwin地图编辑器

手机游戏开发专用的地图编辑器,你一定不会失望的

2011-07-31

空空如也

空空如也

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

TA关注的人 TA的粉丝

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