Pytorch 遇到的那些坑(一)

用Pytorch 有一段时间,因为一直找不到合适的教材,只能边看边做。看代码一直看得云里雾里,很多代码里的解释都含糊不清,一直没有办法流畅地写代码,记录一些坑,也希望可以让国内的开发者在用最好的开发工具上少走一些弯路。 

国内大多数的开发者都喜欢搬一些论文,公式推导。但细节的坑不填平,和有稍微合适的解释,看完一堆论文仍然不知道怎么落地。列举一些Pytorch 坑人的地方:

1.ver 0.1是个不稳定的版本,训练速度很慢,升级到0.3以后运算效率明显提高。

2. Embedding 层的内部bug. 据说tensorflow 和其他框架也有: 

https://discuss.pytorch.org/t/pytorch-0-2-nan-for-embedding/10781

如果你是做NLP 或者需要用到Embedding层,会出现算着算着Embedding里的字典矩阵返回NaN的现象。这个问题足足困扰了我近20多天导致研究一直停滞不前。国内论坛的解释大多要求增加norm初始化词向量,或者减小batch_size,还有解释要减小learning rate. 某种程度上这些方案都是因为网络的搭建有缺陷造成的。 但大多数开发者其实都不会那么没理论基础忽略这些重要的细节。

解决方案: 很奇葩地升级的pytorch到最新的版本(ver 0.4)即可。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值