重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要介绍了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实现冻结训练方式”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!