![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Pytorch
憨憨coding
It's a new day.
展开
-
【Pytorch】torch.Tensor和torch.tensor的区别是什么?
小写的tensor只接受现有的数据;而大写的Tensor相当于就是FloatTensor,既可以接收现有的数据,也可以接受shape来创建指定形状的Tensor。为了避免混淆,建议接收现有数据的时候使用tensor,指定shape的时候使用Tensor。举例:a = torch.tensor([2, 3.3]) #接受现有的数据b = torch.Tensor([2, 3.3]) #等价于a = torch.FloatTensor([2, 3.3])b = torch.FloatTensor(2,原创 2021-03-21 18:04:10 · 437 阅读 · 0 评论 -
【Pytorch】F.layer_norm和nn.LayerNorm到底有什么区别?
背景最近在做视频方向,处理的是时序特征,就想着能不能用Batch Normalization来做视频特征BN层?在网上查阅资料发现,时序特征并不能用Batch Normalization,因为一个batch中的序列有长有短。此外,BN 的一个缺点是需要较大的 batchsize 才能合理估训练数据的均值和方差,这导致内存很可能不够用,同时它也很难应用在训练数据长度不同的 RNN 模型上。Layer Normalization (LN) 的一个优势是不需要批训练,在单条数据内部就能归一化。对于RNN等时原创 2021-03-20 15:10:08 · 9186 阅读 · 2 评论 -
pytorch中如何处理RNN输入变长序列padding
原理&实操实际上就是为了先压紧(pack)再解压(pad),提高运算速度。原创 2021-01-29 12:44:02 · 374 阅读 · 0 评论 -
Pytorch两种保存与加载模型的方式
由于经常用,留作存档。整个模型torch.save(model, path) # 直接保存整个模型model = torch.load(path) # 直接加载模型模型参数torch.save(model.state_dict(), path) # 保存模型的参数model = Model() # 先初始化一个模型model.load_state_dict(torch.load(path)) # 再加载模型参数...原创 2021-01-19 21:11:25 · 103 阅读 · 0 评论 -
Pytorch生僻bug记录「NoneType、Cannot re-initialize、cannot pin、can’t optimize」
Pytorch生僻bug记录稍微改动了原先的代码然后用到一个新的数据集上,结果在一个完整的epoch结束前报错:OSError: Unrecognized data stream contents when reading image file解决方案:在确认代码没有可能导致报错的改动之后,感觉应该是数据集的问题。将数据集部分图片移除,只保留两个类,训练正常进行。逐步增加类数目直至报错。在不断缩小范围之后,最后终于抓出了导致报错的那一张图片,拉下来打开之后发现该图片被污染了,可能是下载过程中受损或者原创 2021-01-17 21:25:11 · 3521 阅读 · 0 评论 -
Pytorch的参数“batch_first”的理解
传送门转载 2021-01-13 21:56:37 · 1885 阅读 · 0 评论