![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Pytorch
永远的小白虾
无论什么时候,面对这计算机的浩瀚海洋,我都是小白虾
展开
-
ubuntu系统上安装pytorch1.1.0
首先是安装MiniConda,这个可以直接去清华镜像源上下载。地址如下:MiniConda下载完成之后,在输入类似于下面的指令,具体指令根据版本变化。bash Miniconda3-4.5.4-Linux-x86_64.sh在弹出的框里面,全部通过,直到遇到Miniconda3 will now be installed into this location:/home/XXX/miniconda3 - Press ENTER to confirm the location - P原创 2021-04-21 09:03:41 · 1076 阅读 · 1 评论 -
关于Pytorch中双向LSTM的输出表示问题
在使用pytorch的双向LSTM的过程中,我的大脑中蒙生出了一个疑问。双向的lstm的outputs的最后一个状态与hidden,两者之间肯定有所联系,但具体是什么样子的呢?会不会hidden状态存储的就是outputs的最后一个状态,这样的话,岂不是会导致hidden并不能表示整个序列的双向信息吗?带着这个疑问,我开始了实验。具体的实验代码,这里就不放了。直接放实验结果吧。output_size: torch.Size([14, 32, 100])hidden_size: torch.S原创 2021-03-15 16:07:56 · 2003 阅读 · 1 评论 -
pytorch 关于深度学习模型的拷贝问题
调参调了很久,知道最近才发现自己的训练过程是错误的,我一直把验证集丢到模型里面去训练(手动蠢死)。不过还好,错处不大。不过为了防止你们也犯这样的错误,先贴上一张训练集,验证集和测试集在训练过程中的作用表格吧!所以现在的需求就是,在训练过程中最优的模型来测试测试集,并在测试前使用验证集训练一次模型。起初是直接使用if val_loss < self.val_optimal_loss: self.optimal_model=self.model结果发现最优的模型并没有被保存下来。然后去检原创 2020-07-19 19:43:32 · 5322 阅读 · 1 评论 -
Pytorch使用shuffle打乱数据
这个东西算是我被这个shuffle坑了的一个总结吧!首先我得告诉你一件事,那就是pytorch中的tensor,如果直接使用random.shuffle打乱数据,或者使用下面的方式,自己定义直接写。 def Shuffle(self, x, y,random=None, int=int): if random is None: random = self.random for i in range(len(x)):原创 2020-07-18 10:00:46 · 19633 阅读 · 6 评论 -
pytorch 中的梯度计算
最近对pytorch的梯度计算产生了一点兴趣,然后现在就总结一下,我看到的几篇讲得挺好的博客。创建带有grad的tensorinput = torch.tensor([1., 2., 3., 4.,], requires_grad=True)参看tensor,是否带有gradprint(input.requires_grad)参看tensor中的grad值print(input.grad)不过模型的输入tensor一般不使用grad,而是将模型参数空间输入到优化器中,然后通过loss.b原创 2020-07-06 16:47:53 · 2048 阅读 · 0 评论 -
细粒度向量融合成粗粒度向量之间的关系探讨
本文实验中使用到的词向量为https://github.com/Embedding/Chinese-Word-Vectors上的sgns.baidubaike.bigram-char如想复现实验,请自行下载。实验的流程是:1 先从预训练的词向量中词表的抽取二字词语,三字词语,四字词语分别20,30,40条,并根据字是否存在于词表中,保存三种词语各十条,以及其对应的字。2 根据目前得到的数据在sgns.baidubaike.bigram-char中得到对应的词向量(这一步是因为词向量太大懒得等写的原创 2020-07-08 10:16:09 · 811 阅读 · 0 评论 -
Pytorch TypeError: ‘int‘ object is not callable
Traceback (most recent call last): File "char_and_word_compare.py", line 35, in <module> char_embs=myLstm(char_embs,hidden,cell) File "D:\Python\lib\site-packages\torch\nn\modules\module.py", line 532, in __call__ result = self.forward(*i原创 2020-07-03 16:31:46 · 3677 阅读 · 4 评论 -
pytorch构建模型的初始化问题
在看代码的时候,别人好的模型一般都是初始化权重的,所以也就先搜索了一些pytorch实现权重初始化的方法,然后自己再做做实验,看看效果。先是实现一个简单的bilstm,随机生成一些数据试试拟合效果。import torch.nn as nnimport torchimport torch.nn.functional as Fimport torch.optim as optim#双向lstmclass BILSTM(nn.Module): def __init__(self):原创 2020-06-09 10:21:22 · 2184 阅读 · 0 评论 -
Pytorch相似度的计算(二)
本文章中的相似度计算方法摘抄自:BiMPM1 带权重的cosine相似度计算这个方法与传统的cosine相似度计算方法不同之处就是为输入的两个向量增加了一个权重,可以通过训练权重来调节向量,获得更加精确的相似度。import torchimport torch.nn as nnclass CosineSimilarityWithW(nn.Module): def __init__(self): super(CosineSimilarityWithW,self).__ini原创 2020-06-08 21:23:40 · 2767 阅读 · 0 评论 -
Pytorch相似度计算
1 余弦相似度余弦相似度是一种我们较为常用的计算向量相似度的方法。下面就是计算余弦相似度的公式:import torchimport torch.nn as nnimport mathclass ConineSimilarity(nn.Module): def forward(self, tensor_1,tensor_2): normalized_tensor_1=tensor_1/tensor_1.norm(dim=-1,keepdim=True)原创 2020-05-23 15:58:32 · 9846 阅读 · 1 评论 -
pytorch的八种损失函数测试
1 L1Loss创建一个标准来测量标准中每个元素之间的平均绝对误差(MAE)输入:math:x和目标:math:ywhere :math:N is the batch size. If :attr:reduction is not 'none'(default 'mean')import torch.nn as nnimport torchlossfun=nn.L1Loss()input=torch.randn(3,5,requires_grad=True)print(inpu原创 2020-05-23 10:15:04 · 1023 阅读 · 0 评论 -
dynamic k-max pooling 动态k-max 池化
最近老师让做一个比较多个池化操作的作业。其中包含了max,min,avg,k-max, dynamic k-max。前面四种还好说,max和avg在pytorch.nn.functions里面就有,min只需要给输入值加个负号,然后在外面加个负号会正即可。k-max也是网上有很多的实现方式。但是关于dynamic k-max的资料在百度里面实在太少。谷歌里面也都是一些tf,或者别的实现方式的,而...原创 2020-04-28 16:16:45 · 2674 阅读 · 2 评论 -
pytorch使用时遇到的坑(一)
遇到了一个这样的错误,terminate called after throwing an instance of ‘c10::Error’terminate called after throwing an instance of 'c10::Error' what(): CUDA error: device-side assert triggered (record at /pytor...原创 2020-04-25 11:19:28 · 10411 阅读 · 10 评论 -
Pytorch学习笔记(三)wordEmbedding的使用
词嵌入的作用,意义什么的我就不多说了!你们可以去看看这篇文章:https://www.cnblogs.com/lindaxin/p/7977406.html我这里主要是记录了一下pytorch中关于Embedding的一些自我理解。首先是导入包import torchimport torch.nn as nnfrom torch.autograd import Variable然...原创 2019-11-04 09:44:10 · 2528 阅读 · 1 评论 -
Pytorch学习笔记(二)自己实现一个线性神经网络的全过程
在进行了第一段的学习之后,因为代码的过于精炼,所以个人感觉还是有点蒙的。所以顺着官方教程再实打实的构建一个神经网络,以便理解。import torchdtype=torch.floatdevice=torch.device("cpu")N,D_in,H,D_out=64,1000,100,10#N为批次大小,D_in为输入层大小,H为隐藏层大小,D_out为输出层大小#数据处理#随机...原创 2019-10-21 22:02:43 · 484 阅读 · 0 评论 -
Pytorch学习笔记(一)搭建一个CNN神经网络
本文根据pytorch官方教程编写,如果有兴趣的人可以直接去查看pytorch的官方文档。那么现在就直接开始吧!第一步就是直接导入包import torch.nn as nnimport torch.nn.functional as Fimport torch然后嘛!就是通过继承nn.Module来编写模型类。class Net(nn.Module): def __init...原创 2019-10-21 21:21:07 · 2528 阅读 · 0 评论