这篇文章主要介绍了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 = 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实现冻结训练方式”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。