PyTorch调参是深度学习中的重点技能,经常碰到私下有人找我询问,下面就是一个非常典型的问题,大家可以看看,深更半夜还在苦思冥想,可见有多么痛苦:

PyTorch调参的方法,散落在本书某些章节里面,借着这个问题,我系统化的回答一下。同时,我也希望借着这个问题,起到抛砖引玉的作用,告诉大家读书的方法,因为我担心有的人并没有真正挖掘本书的价值。《PyTorch面试精华》里面的内容很多很全面,大家要反复地读,多读几遍,然后提炼出自己的知识体系,这样你才能学的更好,才能更好的发挥这本书的价值。
言归正传,回到上面的问题。据我所知,冻结网络参数的方式有三种:
1、利用优化器的param_groups属性
2、利用detach分离出某个网络层
3、利用dropout操作。
前2种方法都是冻结整个层的训练参数,第3种方法使用dropout可以冻结部分网络参数,但是这是随机的。其他的方法我就不知道了。
上面我给出的答案,就是我参考《PyTorch面试精华》这本书来的。我以身作则,给大家演示一下如何去使用《PyTorch面试精华》,希望大家能够按照我说的去做,多读多思考。