本文主要是介绍Pytorch学习纪要[ongoing],希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
莫烦python教程和视频是不错的入门资源:https://morvanzhou.github.io/
- 搭建神经网络,可以自建class继承torch.nn.Module,也可以使用nn.Sequential快速搭建
- 使用torch.save(net.state_dict,'file.pkl') 比torch.save(net,'file.pkl')会稍快一些,实测生成的文件前者确实较小。
- Batch training: ds=torch.utils.data.TensorDataset(x,y); data.DataLoader(batch_size=10, shuffle=True, dataset=ds)
- Dropout layer. 实现上只需加入dropout层即可,需要注意的是,在训练结束后,需要predict时,需要调用net.eval()切换模式禁用dropout
- Batch normalization. 在每一层都加入一个normalization的操作使得,信息能够很好地传递到网络深层。否则的话,多大或过小的x值在经过激活函数时的效果与足够大和足够小的值没有区分度,导致信息的丢失。另外,由于这一normalizaition的操作中用到的均值和variance估计是有偏的,于是叠加了scale和偏移量两个参数,在训练时被更新。在训练结束后也需要调用net.eval()切换到调用模式,否则上述两个参数会根据新一次的mean和variance去调整。
这篇关于Pytorch学习纪要[ongoing]的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!