![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Pytorch
文章平均质量分 79
Q同学的nlp笔记
深度解读最新NLP论文,关注技术动态,分享NLP在各行各业的应用见解。
展开
-
Huggingface Trainer报错RuntimeError: Expected all tensors to be on the same device
Huggingface Trainer报错RuntimeError: Expected all tensors to be on the same device原创 2023-01-30 13:16:13 · 850 阅读 · 0 评论 -
Pytorch中数据集太大加载爆内存问题解决记录
问题说明项目需要,要加载一个具有两千多万条样本的两万多分类问题的数据集在BERT模型上进行Fine tune,我选取了其中2%的数据(约50万条)作为测试集,然后剩下的两千多万条作为训练集。我按照 Transformers库官方文档里的 Fine-tuning with custom datasets一文中对BERT模型在IMDb数据集上Fine tune的过程进行改写。原代码如下:train_texts, train_labels = read_imdb_split('aclImdb/train')原创 2021-04-22 11:00:49 · 13292 阅读 · 5 评论 -
transformers库中使用DataParallel保存模型参数时遇到的问题记录
pytorch中使用DataParallel保存模型参数时遇到的问题记录之前使用Transformers库中的Bert模型在自己的文本分类任务上使用Transformers库里的Trainer方式进行了Fine-tune。今天尝试加载保存好的checkpoint到程序中来直接进行evaluate。直接使用AutoModelForSequenceClassification从checkpoint目录加载加载的代码为:model = AutoModelForSequenceClassification.原创 2021-04-22 10:49:46 · 3389 阅读 · 4 评论 -
Huggingface Transformers库学习笔记(三):使用Transformers(下)(Using Transformers Part 2)
前言本部分是Transformer库的基础部分的下半部分,主要包括训练和微调、模型共享和上传、分词器汇总、多语言模型。Huggingface Transformers库学习笔记(三):使用Transformers(Using Transformers Part 2)前言使用Transformers(Using Transformers)训练和微调(Training and fine-tuning)在本地PyTorch中进行微调(Fine-tuning in native PyTorch)冻结编码器(F原创 2021-04-09 15:24:21 · 1761 阅读 · 3 评论 -
Huggingface Transformers库学习笔记(二):使用Transformers(上)(Using Transformers Part 1)
Huggingface Transformers库学习笔记(二):使用Transformers(Using Transformers)使用Transformers(Using Transformers)任务汇总(Summary of the tasks)序列分类(Sequence Classification)提取式问答(Extractive Question Answering)语言模型(Language Modeling)遮罩语言模型(Masked Language Modeling)因果语言模型(Ca原创 2021-04-08 23:14:03 · 4186 阅读 · 6 评论 -
Huggingface Transformers库学习笔记(一):入门(Get started)
前言Huggingface的Transformers库是一个很棒的项目,该库提供了用于自然语言理解(NLU)任务(如分析文本的情感)和自然语言生成(NLG)任务(如用新文本完成提示或用另一种语言翻译)的预先训练的模型。其收录了在100多种语言上超过32种预训练模型。这些先进的模型通过这个库可以非常轻松的调取。同时,也可以通过Pytorch和TensorFlow 2.0进行编写修改等。本系列学习资料来自于该库的官方文档(v4.4.2),链接为TransformersHuggingface Transfo原创 2021-04-06 14:29:10 · 3141 阅读 · 3 评论 -
Pytorch中“RuntimeError: Input, output and indices must be on the current device“问题解决
问题描述昨天跟着一篇博客BERT 的 PyTorch 实现从头写了一下BERT的代码,因为原代码是在CPU上运行的,于是就想将模型和数据放到GPU上来跑,会快一点。结果,在将输入数据和模型都放到cuda上之后,仍然提示报错:"RuntimeError: Input, output and indices must be on the current device"原因与解决方法通过打印检查了很多次,输入变量和模型参数都在cuda:0上。查找资料后发现可能是有以下两个地方导致这个问题。在模型内原创 2021-04-03 11:38:52 · 16001 阅读 · 8 评论 -
莫凡Pytorch学习笔记(七)
Pytorch中的mini-batch和优化器本篇笔记主要对应于莫凡Pytorch中的4.1和4.2节。主要讲了如何使用Pytorch搭建CNN网络对MNIST手写数字数据集进行。Pytorch中的mini-batch在笔记二、三中搭建的网络中,我们是一次性直接将整个训练集送进网络,这种方式称为Full Batch Learning。但是当数据量很大时,首先一次性加载这么多数据收到了内存的限制,同时由于要计算每个样例的梯度,计算速度也会下降。那么我们是否可以每次只用一条样例数据进行训练呢。答案是可以原创 2021-03-23 15:22:24 · 379 阅读 · 3 评论 -
莫凡Pytorch学习笔记(六)
Pytorch中的mini-batch和优化器本篇笔记主要对应于莫凡Pytorch中的3.5和3.6节。主要讲了如何使用Pytorch保存和提取我们的神经网络。Pytorch中的mini-batch在笔记二、三中搭建的网络中,我们是一次性直接将整个训练集送进网络,这种方式称为Full Batch Learning。但是当数据量很大时,首先一次性加载这么多数据收到了内存的限制,同时由于要计算每个样例的梯度,计算速度也会下降。那么我们是否可以每次只用一条样例数据进行训练呢。答案是可以的,但是这样每次的随原创 2021-03-06 23:01:56 · 319 阅读 · 1 评论 -
莫凡Pytorch学习笔记(五)
Pytorch模型保存与提取本篇笔记主要对应于莫凡Pytorch中的3.4节。主要讲了如何使用Pytorch保存和提取我们的神经网络。我们将通过两种方式展示模型的保存和提取。第一种保存方式是保存整个模型,在重新提取时直接加载整个模型。第二种保存方法是只保存模型的参数,这种方式只保存了参数,而不会保存模型的结构等信息。两种方式各有优缺点。保存完整模型不需要知道网络的结构,一次性保存一次性读入。缺点是模型比较大时耗时较长,保存的文件也大。而只保存参数的方式存储快捷,保存的文件也小一些,但缺点是丢失了网络原创 2021-03-02 22:11:07 · 246 阅读 · 0 评论 -
莫凡Pytorch学习笔记(四)
Pytorch使用Sequential快速搭建神经网络本篇笔记主要对应于莫凡Pytorch中的3.3节。主要讲了如何使用Pytorch中的Sequential模块快速搭建一个分类模型的神经网络。接下来我们自己通过两种方法搭建一个分类模型的神经网络。数据生成与展示import torchimport torch.nn.functional as Fimport matplotlib.pyplot as plt这里生成两组正态分布的数据。其中类别0的数据维度为2,其在各个维度上服从均值为2,方原创 2021-03-01 22:56:09 · 337 阅读 · 2 评论 -
莫凡Pytorch学习笔记(三)
Pytorch分类模型搭建本篇笔记主要对应于莫凡Pytorch中的3.2节。主要讲了如何使用Pytorch搭建一个分类模型的神经网络。这里我们同样是继承torch.nn.Module来书写自己的神经网络。在继承该类时,必须重新实现__init__构造函数和forward这两个方法。接下来我们来自己搭建一个分类模型的神经网络。数据生成与展示import torchimport torch.nn.functional as Fimport matplotlib.pyplot as plt这里生原创 2021-03-01 09:22:13 · 379 阅读 · 1 评论 -
莫凡Pytorch学习笔记(二)
Pytorch回归模型搭建本篇笔记主要对应于莫凡Pytorch中的3.1节。主要讲了如何使用Pytorch搭建一个回归模型的神经网络。在Pytorch中自定义一个神经网络时,我们需要继承torch.nn.Module来书写自己的神经网络。在继承该类时,必须重新实现__init__构造函数和forward这两个方法。这里有一些注意点:一般把网络中具有可学习参数的层(如全连接层、卷积层等)放在构造函数__init__()中,当然我也可以吧不具有参数的层也放在里面;一般把不具有可学习参数的层(如R原创 2021-02-28 09:53:34 · 414 阅读 · 1 评论 -
莫凡Pytorch学习笔记(一)
前言最近在学习莫凡的Pytorch教程,为了避免忘记,现对一些学习中的知识点进行记录。对本系列博客,有以下几点需要注意:基础的Tensor操作我已经有过记录,因而在学习时我直接从激活函数这一节开始学起。莫凡Pytorch的代码大多基于Pytorch的0.4版本,而我现在学习时使用的是1.7.1版本,部分代码我进行了调整。好了,废话不多说,开始今天的学习笔记记录。Pytorch中几种基本的激活函数本篇笔记主要对应于莫凡Pytorch中的2.3和2.4节内容。对于激活函数,维基百科给出的定义是原创 2021-02-27 20:49:11 · 780 阅读 · 1 评论 -
Pytorch中的dim问题
pytorch函数中,很多都有dim这个控制参数,但是其具体含义是有时很迷惑,这里记录一下我的理解。以tensor的sum函数为例,我们构建一个234的三维张量,分别在dim=0,1,2上求和。>>x = [[[1, 2, 3, 4], [5, 6, 7, 8], [4, 3, 2, 1]], [[2, 2, 2, 2], [1, 1, 1, 1], [3, 3, 3, 3]]]>>x = torch.tensor(x)>>x.shapetorch.Si原创 2021-02-26 19:25:15 · 773 阅读 · 1 评论 -
Pytorch学习笔记(一)
Pytorch学习记录(一)Pytorch基础知识0. Pytorch简介1. 下载安装1.1 CUDA版本查看1.2 安装PytorchPytorch中的张量(Tensor)功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入参考P原创 2021-01-14 15:42:22 · 286 阅读 · 0 评论