
pytorch
文章平均质量分 68
pytorch的一些用法与实例
Icy Hunter
如果我真的存在,也是因为你需要我
展开
-
pytorch之求梯度和nn.Linear的理解
假设有这么个简单的神经网络结构。这篇文章可以说是机器学习之神经网络的公式推导与python代码(手写+pytorch)实现补充。那么这个网络用pytorch如何实现呢?其中w1就相当于vij的系数矩阵w2就相当于wjk的系数矩阵然后forward就是进行正向传播计算。反向传播的话就是后面计算出损失后,调用backward一句话就好了。应该比手写简介且好理解吧。原创 2022-10-24 16:15:24 · 2786 阅读 · 0 评论 -
深度学习中一些注意力机制的介绍以及pytorch代码实现
因为最近看论文发现同一个模型用了不同的注意力机制计算方法,因此懵了好久,原来注意力机制也是多种多样的,为了以后方便看懂人家的注意力机制,还是要总结总结。原创 2022-07-15 21:21:25 · 10437 阅读 · 9 评论 -
transformer包中的bert预训练模型的调用详解
2018年的10月11日,Google发布的论文《Pre-training of Deep Bidirectional Transformers for Language Understanding》,成功在 11 项 NLP 任务中取得 state of the art 的结果,赢得自然语言处理学界的一片赞誉之声。目前大多数NLP任务研究中,会调用bert预训练模型,大量实验证明,bert的实验对下游任务会起到一定的提升作用。那么这里将介绍一下如何调用bert预训练模型,以及相关的用法。我安装的是4.3原创 2022-07-14 16:29:40 · 5609 阅读 · 0 评论 -
transformer的一些理解以及逐层架构剖析与pytorch代码实现
文章目录前言一、transformer的架构二、transformer需要用到的三级部件1.词嵌入层(Embedding)2.位置编码器(PositionalEncoding)3.掩码张量生成器(subsequent_mask)4.注意力机制层(Attention)5.多头注意力机制层(MultiHeadedAttention)6.前馈全连接层(PositionwiseFeedForward)7.规范化层(LayerNorm)8.子层连接结构(SublayerConnection)三、transforme.原创 2022-05-02 13:09:47 · 3458 阅读 · 1 评论 -
pytorch如何使用torchtext初始化LSTM的embedding层?如何用各种预训练模型初始化embedding层?
目录pytorch如何使用torchtext初始化LSTM的embedding层?如何用各种预训练模型初始化embedding层?pytorch如何使用torchtext初始化LSTM的embedding层?由于我开始使用的是torchtext这个预处理的工具,使得建立词典,初始化embedding变得非常方便,一般下面几行就可以搞定调用预训练glove词向量模型初始化embedding。vectors = Vectors(name='./vector/glove.6B.50d.txt') # 存原创 2022-04-25 11:17:25 · 1952 阅读 · 0 评论 -
pytorch中LSTM的输出的理解,以及batch_first=True or False的输出层的区别
还记得寒假,我也纠结过这个问题,当时好像弄清楚了,感觉没什么问题,然后最近上手又感觉有点懵逼,赶紧记下来,免得以后忘记。网上搜了很多,但是好像没有简单易懂的例子。目录输出层or隐藏层?batch_first=True or False输出有什么区别?结论输出层or隐藏层?首先,pytorch中LSTM的输出一般用到的是输出层和隐藏层这两个,另一个细胞状态,我没咋用过,就不讲了。一般两种用法,要么将输出层全连接然后得出结果,要么用隐藏层全连接,然后得出结果,有学长说用隐藏层效果会好一点。两种用法应该原创 2022-04-23 20:47:55 · 9375 阅读 · 11 评论 -
对注意力机制(Attention)的一些理解附上Bi-LSTM和seq2seq加上注意力机制的代码
注意力机制,简单来说就是让模型能够学会具体问题具体分析吧,比如问你是个水果大师,别人问你这个苹果怎么样,那总得盯着苹果端详吧,而不是去看那个西瓜。理解的应该差不太多吧…这个是从b站看的一个手推注意力机制的视频,照着画了一遍,感觉大概也是明白了一点。主要计算过程(当时她讲的是机器翻译的例子)就是编码器所有的隐藏层以及解码器当前的隐藏层一起计算出attention后再计算出context-vector最后和当前时刻需要输入的序列拼接,然后一起生成解码器下一个隐藏层然后通过这个隐藏层预测下一个词,然后这个隐原创 2022-02-10 00:16:41 · 5003 阅读 · 4 评论 -
pytorch一些函数的基本用法及作用
之前写写过见pytorch中的torch.cat()矩阵拼接的用法及理解这个函数的作用主要是将矩阵交换两个维度。结果这个函数能对维度进行变换,view中的参数即为每一维应当包含的元素个数,如果-1即让其自动计算出。运行结果这个函数能够对任意维度进行任意交换,transpose只能对两个维度进行交换。用法是:原本0,1,2代表第1,2,3维,那么现在b.permute(2,0,1)即现在第一维是原来的第三维,第二维是原来的第一维,第三维是原来的第二维。运行结果作用就是降维,去掉维度中元素为1的维原创 2022-02-09 14:43:22 · 2218 阅读 · 0 评论 -
加载glove或者word2vec训练好的词向量进行训练LSTM等模型的训练
学着学着就会发现数据预处理是一件很头疼的事情,不过对于自然语言处理这块,torchtext确实挺好用的。可以使用torchtext来加载词向量然后直接初始化模型的embedding层就达到目的了。加载glove词向量这个比较方便下面仅展示思路,代码不能跑import torchtext# 定义一个field,用于数据预处理(切词等)TEXT = torchtext.data.Field(sequential=True, tokenize=tokenizer, lower=True, fix_l原创 2022-02-07 14:37:07 · 3596 阅读 · 0 评论 -
基于pytorch构建双向LSTM(Bi-LSTM)文本情感分类实例(使用glove词向量)
学长给的代码,感觉结构清晰,还是蛮不错的,想以后就照着这样的结构走好了,记录一下。首先配置环境matplotlib==3.4.2numpy==1.20.3pandas==1.3.0sklearn==0.0spacy==3.1.2torch==1.8.0TorchSnooper==0.8tqdm==4.61.0也不一定要完全一样,到时候哪里报错就改哪里就好了数据集https://download.youkuaiyun.com/download/qq_52785473/79483740上传到资源原创 2022-02-06 19:44:50 · 6975 阅读 · 13 评论 -
pytorch中的torch.cat()矩阵拼接的用法及理解
深度学习模型里的输出的东西还是有点搞的。torch.cat()的用处还是蛮大的。下面直接举例子理解。一维拼接import torcha = torch.Tensor([1, 2, 3])b = a * 2c = torch.cat((a, b), dim=0) # dim=-1为取最后一维。这里只有一维-1和0是一样的print(a.shape)print(c.shape)print(c)二维拼接,dim就是选择哪一维进行拼接,dim=-1就表示最后一维进行拼接,这个也很好理解,索原创 2022-02-06 17:10:23 · 3985 阅读 · 0 评论 -
对于RNN、LSTM等序列模型的数据集构建的一些理解
循环神经网络的特点就是能够使用序列的特征来处理一些位置顺序有意义的数据,例如“我吃青菜”和“青菜吃我”,数据的元素相同,但是位置不同,两句话的含义也截然不同。例如abcdefg是一个序列数据,假设我们这里的任务是文本生成,即给定文本数据,训练出能够通过一个序列预测出下一个字符的模型。那么数据集该如何构建呢。滑动窗口滑动窗口(或者seq_len、时间步长等等应该一个意思吧),能滑动的窗口。例如滑动窗口大小为5。那么数据集应当切分为abcde-f(abcde作为训练,f作为这个序列的标签)bcdef-原创 2022-02-05 19:31:59 · 2122 阅读 · 0 评论 -
浅显理解torchtext对文本预处理的过程
这里处理数据是面对英文文本及分类问题的,中文应该也差不多。数据集:https://download.youkuaiyun.com/download/qq_52785473/78428834?spm=1001.2014.3001.55030积分下载。下面案例主要是对一个数据集进行处理,作为跑流程的实例,完整的流程应该是三个数据集,其中训练集需要构建字典,其他不用构建字典,最后训练的时候直接调用迭代就可以进行训练了。下面代码其实是学长给的代码,我涂涂改改得来的,毕竟水平不太够,只能用自己的理解来解释解释以便自己能够原创 2022-02-01 16:28:49 · 956 阅读 · 0 评论 -
基于pytorch使用LSTM进行虎年春联生成
先看看我摘录的一些结果吧七字春联,开头两个字分别为 虎年、虎气、春节虎年啸虎春虎虎虎气伏虎牛龙龙虎年虎虎展啸风春节啸春虎风虎虎年虎啸啸千啸春节萝啸气风春虎年啸浩一讯欢春节回旧鹤绣舞虎年啸一着有处春节回一福舞福虎年啸月翼业来春节回旧精绣福我语文水平不太行,乍一眼看感觉还是满高级的。训练数据 春联.csv0龙腾虎啸腊尽春回高崖伏虎啸茅庐卧龙飞虎啸风声远龙腾海浪高龙引千江水虎越万重山密林藏伏虎萝峰染晴云山月流古雪风虎浴清泉事事都如意虎虎有生气云中熊虎将原创 2022-01-31 12:21:13 · 2094 阅读 · 10 评论 -
基于pytorch实现RNN和LSTM对手写数字集分类的完整实例
RNN# coding: utf-8import torchimport torch.nn as nnimport torchvision.transforms as transformsimport torchvision.datasets as datasetsimport torchvisionimport numpy as npimport matplotlib.pyplot as plttrainsets = datasets.MNIST(root="./data", trai原创 2022-01-31 00:00:57 · 1187 阅读 · 2 评论 -
基于pytorch的LSTM进行字符级文本生成实战
基于pytorch的LSTM进行字符级文本生成实战文章目录基于pytorch的LSTM进行字符级文本生成实战前言一、数据集二、代码实现1.导入库及LSTM模型构建2.数据预处理函数3.训练函数4.预测函数5.文本生成函数6.主函数总结完整代码前言随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习中深度学习的内容使用pytorch构建LSTM模型进行字符级文本生成任务以下是本篇文章正文内容,下面案例可供参考,但主要是为了记录避免以后忘记一、数原创 2022-01-29 19:20:36 · 5468 阅读 · 9 评论 -
关于pytorch模型保存与调用的一种方法及一些坑。
报错一:RuntimeError: Error(s) in loading state_dict for lstm_model:Missing key(s) in state_dict: “lstm.weight_ih_l0”, “lstm.weight_hh_l0”, “lstm.bias_ih_l0”, “lstm.bias_hh_l0”, “lstm.weight_ih_l1”, “lstm.weight_hh_l1”, “lstm.bias_ih_l1”, “lstm.bias_hh_l1”, “原创 2022-01-29 16:29:37 · 2117 阅读 · 0 评论 -
基于词向量使用Pytorch常规自编码器对句子进行向量表示与降维
其实句子建模进行向量化表示,应该使用递归自编码器比较合理,即基于句法树或者误差最小的原则词两两之间进行重构,重构后的再继续与剩下的进行重构,道理大概都懂,但是理论和实际还是有差距的,因为我目前还没有找到实例,找了些论文里面说的也是模模糊糊,因此我还无法使用递归自编码器实现句子建模,但是我发现许多实例是对手写数字图片进行自编码器的降维,因此我斗胆有了以下思路:1.使用jieba切词然后使用word2vec训练词向量,每个词词向量维度v为1282.计算每个句子词数多少,然后根据数量分布取每句的词数d为11(原创 2022-01-23 10:56:53 · 1522 阅读 · 0 评论