今天小编就为大家分享一篇Pytorch根据layers的name冻结训练方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
使用model.named_parameters()可以轻松搞定,
model.cuda() # ######################################## Froze some layers to fine-turn the model ######################## for name, param in model.named_parameters(): # 带有参数名的模型的各个层包含的参数遍历 if 'out' or 'merge' or 'before_regress' in name: # 判断参数名字符串中是否包含某些关键字 continue param.requires_grad<b style="color:transparent">来源gao@dai!ma.com搞$代^码网</b> = False # ############################################################################################################# optimizer = optim.SGD(filter(lambda p: p.requires_grad, model.parameters()), lr=opt.learning_rate * args.world_size, momentum=0.9, weight_decay=5e-4)
以上这篇Pytorch根据layers的name冻结训练方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持gaodaima搞代码网。
以上就是Pytorch根据layers的name冻结训练方式的详细内容,更多请关注gaodaima搞代码网其它相关文章!