Pytorch根据layers的name冻结训练方式

yipeiwu_com7年前Python基础

使用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冻结训练方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python获取远程图片大小和尺寸的方法

本文实例讲述了python获取远程图片大小和尺寸的方法。分享给大家供大家参考。具体分析如下: 这段代码通过urllib2打开远程图片,通过cStringIO读取文件内容,不用保存到磁盘即...

python的random模块及加权随机算法的python实现方法

random是用于生成随机数的,我们可以利用它随机生成数字或者选择字符串。 •random.seed(x)改变随机数生成器的种子seed。 一般不必特别去设定seed,Pyt...

Python实现生成随机日期字符串的方法示例

本文实例讲述了Python实现生成随机日期字符串的方法。分享给大家供大家参考,具体如下: 生成随机的日期字符串,用于插入数据库。 通过时间元组设定一个时间段,开始和结尾时间转换成时间戳。...

python 实现selenium断言和验证的方法

最近在学习自动化测试,网上资料是挺多的,但是都是很基础的,想深入一点了解就没有资料了。于是开始自己研究。 这两天在看selenium验证和断言方面的资料。 断言就是判断是否跟预期结果一致...

python 环境变量和import模块导入方法(详解)

1、定义 模块:本质就是.py结尾的文件(逻辑上组织python代码)模块的本质就是实现一个功能 文件名就是模块名称 包: 一个有__init__.py的文件夹;用来存放模块文件 2、导...