深度学习开发框架PyTorch(12)-- 权重裁剪
在模型训练完成后可以考虑对冗余的权重进行裁剪.
在模型训练完成后可以考虑对冗余的权重进行裁剪.
转换数据类型,降低权重大小。
在介绍完模型的保存与复用之后,实现网络的追加训练就很简单了。最简便的一种方式就是用之前训练的网络权重参数初始化网络继续进行训练即可。
Pytorch中模型的保存有两种方法,第一种是只保存参数,第二种保存整个模型(结构+参数)。由于保存整个模型将耗费大量的存储,故官方推荐只保存参数,然后在建好模型的基础上加载参数即可。
PyTorch中使用GPU会复杂一些,但这也意味着对GPU资源更加灵活高效的控制。
权值初始化的目的是防止层激活输出在深度神经网络的正向传递过程中爆炸或消失。
搭建好了模型,选好了损失函数和优化器就可以执行训练了。
网络模型中的参数model.state_dict()其实是以字典的形式保存下来的。
使用Autograd可实现深度学习模型,但其抽象程度较低,如果用来实现深度学习模型需要编写的代码量极大。torch.nn模块应运而生,它们是专门为深度学习设计的模块。
PyTorch与Python、Numpy等最大的区别在于自动求导机制,这种机制为神经网络训练过程中的梯度计算而特别设计。在PyTorch中,Autograd是所有神经网络的核心内容,为Tensor所有操作提供自动求导方法。