pytorch固定部分网络参数
Posted ohelloolleho
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pytorch固定部分网络参数相关的知识,希望对你有一定的参考价值。
方法1:
net :
block1 = sequence
block2 = …………
在train代码中,指定完lossfunction后,
loss_func = nn.Cro……
(事先打印你的net , 得到你想要固定的部分的name , 我这里是一个block有多步操作,所以使用正则)
for name , parameter in model.named_parametes():
if fnmatch(name , "block1*"):
parameter.requires_grad = False
print(name , "has freezed.")
#之所以用正则,是因为我将所有需要固定的卷积放在block1中, 所以name为block1.1.weight , block1.2.…………
此外还有方法二在网络定义使用 with_no_grad参数,此处不再赘述。
以上是关于pytorch固定部分网络参数的主要内容,如果未能解决你的问题,请参考以下文章