位置: IT常识 - 正文

pytorch对已有模型的更改(常用的操作)(pytorch model.module)

编辑:rootadmin
pytorch对已有模型的更改(常用的操作)

推荐整理分享pytorch对已有模型的更改(常用的操作)(pytorch model.module),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:pytorch有哪些模型,pytorch model.predict,pytorch_model.bin,pytorch model.predict,pytorch_model.bin,pytorch modules,pytorch model.parameters,pytorch model.module,内容如对您有帮助,希望把文章链接给更多的朋友!

本文会做经常性的更改,如有错误或者其他补充的,请各位大佬不吝指点。

如图所示为我们的示例输出的网络结构。

引入创建的模型:

import torchimport simple_modulemod = simple_module.Module()

一、模型的保存与读取

1.整个模型的保存与读取

# 保存整个模型torch.save(mod, '../parameters/mod.pth')# 读取整个模型mod_load = torch.load('../parameters/mod.pth')

2.模型参数的保存与读取(以字典方式保存和读取)

# # 保存模型的参数(以字典的方式保存)torch.save(mod.state_dict(), '../parameters/mod_parameter.pth')# 查看保存了哪些参数print(mod.state_dict().keys())print(mod.state_dict()['feature.0.0.bias'])# 读取模型的参数(以字典的方式读取)mod.load_state_dict(torch.load('../parameters/mod_parameter.pth'))odict_keys(['feature.0.0.weight', 'feature.0.0.bias', 'feature.0.1.weight','feature.0.1.bias', 'feature.0.1.running_mean', 'feature.0.1.running_var', 'feature.0.1.num_batches_tracked', 'feature.1.0.weight', 'feature.1.0.bias', 'feature.1.1.weight', 'feature.1.1.bias', 'feature.1.1.running_mean', 'feature.1.1.running_var', 'feature.1.1.num_batches_tracked', 'classifier.1.weight','classifier.1.bias'])tensor([-0.1721, -0.1222, 0.1023, -0.1484, -0.0547, -0.1922, -0.0796, -0.1784, -0.0233, -0.0271, -0.1018, 0.1875])pytorch对已有模型的更改(常用的操作)(pytorch model.module)

二、模型更改某一层

# 模型修改某一层mod.classifier[1] = torch.nn.Linear(in_features=3072, out_features=20, bias=True)

三、模型删除某些层

# 删除某一层,可以将该层设置为空序列mod.classifier[1] = torch.nn.Sequential()# 可以采用切片的方式删除,这样删除更加彻底mod.classifier = torch.nn.Sequential(*list(mod.classifier.children())[:-1])# 或者直接删除mod.classifier.__delattr__('1')

四、模型添加层(貌似只能在某一个块的末尾添加,后续再查找资料,有大佬可以指点一下)

# 模型添加层mod.classifier.add_module(name='liner', module=torch.nn.Linear(in_features=3072, out_features=100, bias=True))

五、冻结某些层,使得训练时不进行参数更行

1.冻结某一层

# 冻结某一层mod.feature[0][0].weight.requires_grad = False

2.冻结所有的参数

# 冻结所有的参数for param in mod.parameters(): param.requires_grad = False

3.冻结前面某部分的参数,可先将参数名称罗列出来,然后选择一部分的参数名称,利用参数的名称进行冻结。这种方式可以任意地冻结自己想要冻结的层。

no_grad = []for name, value in mod.named_parameters(): # print(name) no_grad.append(name)no_grad = no_grad[:-4]for name, value in mod.named_parameters(): if name in no_grad: value.requires_grad = False else: value.requires_grad = True

 4.还有一种方式,就是只冻结前面几层

i = 0for name, value in mod.named_parameters(): value.requires_grad = False i = i + 1 if i == 4: break;

或者

model_parameters = model.named_parameters()for i in range(freeze): name, value = next(model_parameters) value.requires_grad = False

这是我目前想到的一个方法,还有其他方法的请大佬不吝指点。 

无论哪种方式,都是将对应层的weight的requires_grad设置为False。

5.最后还需要给优化器设置过滤器

# 定义一个fliter,只传入requires_grad=True的模型参数optimizer = optim.SGD(filter(lambda p : p.requires_grad, mod.parameters()), lr=1e-2)
本文链接地址:https://www.jiuchutong.com/zhishi/288943.html 转载请保留说明!

上一篇:vue表单验证rules以及validator验证器的使用(vue表单验证数字)

下一篇:厄勒布鲁附近湖上的仲夏之光,瑞典 (© Anders Jorulf/Getty Images)(厄勒布鲁赛程500)

  • vivo手机怎样一键打开手电筒(vivo手机怎样一键录音)

    vivo手机怎样一键打开手电筒(vivo手机怎样一键录音)

  • 小米系统更新包在哪个文件夹里(小米系统更新包会自动删除吗)

    小米系统更新包在哪个文件夹里(小米系统更新包会自动删除吗)

  • 丰网速运去哪里取件(中通快递 物流)

    丰网速运去哪里取件(中通快递 物流)

  • 荣耀30s有没有红外线功能呢(荣耀30s有没有红外线遥控功能)

    荣耀30s有没有红外线功能呢(荣耀30s有没有红外线遥控功能)

  • WPS如何做ppt幻灯片(wps怎样做幻灯片,用wps如何做ppt幻灯片?)

    WPS如何做ppt幻灯片(wps怎样做幻灯片,用wps如何做ppt幻灯片?)

  • p30如何设置屏幕常亮(p30pro如何设置屏幕)

    p30如何设置屏幕常亮(p30pro如何设置屏幕)

  • 华为手机壁纸在哪里设置(华为手机壁纸在哪个目录)

    华为手机壁纸在哪里设置(华为手机壁纸在哪个目录)

  • doyogames是什么文件夹(indoor games是什么意思)

    doyogames是什么文件夹(indoor games是什么意思)

  • 小红书评论违规是什么意思(小红书评论违规通知怎么删除)

    小红书评论违规是什么意思(小红书评论违规通知怎么删除)

  • 计算机按性能可以分为(计算机按性能可以分为什么)

    计算机按性能可以分为(计算机按性能可以分为什么)

  • microsoft visual c++是什么(microsoft visual c++被卸载了怎么办)

    microsoft visual c++是什么(microsoft visual c++被卸载了怎么办)

  • 手机开了数据连接不能上网(手机开了数据连接不能上网是什么原因?)

    手机开了数据连接不能上网(手机开了数据连接不能上网是什么原因?)

  • 苹果x有快充吗(苹果x有快充吗手机)

    苹果x有快充吗(苹果x有快充吗手机)

  • 苹果11系列都有哪些(苹果11系列都有什么颜色)

    苹果11系列都有哪些(苹果11系列都有什么颜色)

  • gtx1070配什么cpu合适

    gtx1070配什么cpu合适

  • 负一屏怎么关闭(小米负一屏怎么关闭)

    负一屏怎么关闭(小米负一屏怎么关闭)

  • 手机蓝牙找不到设备怎么办(手机蓝牙找不到小爱音箱怎么办)

    手机蓝牙找不到设备怎么办(手机蓝牙找不到小爱音箱怎么办)

  • realmex2pro支持夜景模式吗(realmex2pro有红外吗)

    realmex2pro支持夜景模式吗(realmex2pro有红外吗)

  • 脚注编号21怎么加圆圈(脚注编号怎么加圆圈)

    脚注编号21怎么加圆圈(脚注编号怎么加圆圈)

  • 淘宝电子凭证怎么收货(淘宝电子凭证怎么核销)

    淘宝电子凭证怎么收货(淘宝电子凭证怎么核销)

  • 怎么解除抖音被禁言(怎么解除抖音被拉黑名单)

    怎么解除抖音被禁言(怎么解除抖音被拉黑名单)

  • 快手绑定手机号码丢了,怎么登陆(快手绑定手机号不用了登不上咋办)

    快手绑定手机号码丢了,怎么登陆(快手绑定手机号不用了登不上咋办)

  • 如何做人脸识别(如何做人脸识别登录)

    如何做人脸识别(如何做人脸识别登录)

  • 笔记本颜色怎么调(笔记本颜色怎么调亮)

    笔记本颜色怎么调(笔记本颜色怎么调亮)

  • os x 10.10wifi问题怎么解决?mac os x 10.10 yosemite wifi修复教程(macos连接wifi无法上网)

    os x 10.10wifi问题怎么解决?mac os x 10.10 yosemite wifi修复教程(macos连接wifi无法上网)

  • 喉咙有异物怎么办(喉咙有异物怎么咳出来)

    喉咙有异物怎么办(喉咙有异物怎么咳出来)

  • 嵌入式软件产品即征即退
  • 山东省注册税务师协会官网
  • 兼职会计负责的工作内容
  • 残保金需要计提分录吗
  • 个体工商户网上报税流程
  • 资产减值损失负数是好是坏
  • 原材料做成库存会计分录
  • 一次性医保补助多少钱
  • 自然灾害造成库存商品毁损
  • 房屋租赁违法
  • 企业销售矿产是否需要缴纳资源税呢?
  • 企业所得税需要调整的有什么科目
  • 本月出口下月开发票可以吗
  • 没有发票的固定资产可以税前扣除吗
  • 营改增后小规模纳税人转一般纳人
  • 一般公司报销一个月报销几次
  • 固定资产计提折旧的会计科目
  • 保洁属于劳务报酬吗
  • 实际利率法是哪一章的知识
  • 计提固定资产折旧
  • 给法院交的诉讼费怎么交
  • mac怎么打开hosts文件
  • 销售额不到10万免征什么税
  • 企业收到利息收入开发票吗
  • 电脑在线测速的软件
  • 促销费影响主营利润吗
  • cpu性能天梯图2023年3月
  • 从劳务市场雇人受伤了怎么办?
  • 金银首饰在哪个软件买
  • 结转损益类收入账户的余额会计分录
  • 发票开具时限是怎么规定的
  • 免抵退税如何申报增值税
  • 移动列表格
  • vue项目打包后还能修改吗
  • 其他综合收益科目有哪些
  • win11硬件加速gpu计划怎么关
  • 商业模式诠释了一个企业如何赚钱
  • 小程序开发公司十大排名
  • 周志华《机器学习》第三章课后习题
  • php socket_create
  • ppp中启用chap命令
  • php设置标题
  • 购进免税农产品进项税额转出
  • 材料发票和工程发票的区别
  • 会计科目设置怎么操作
  • sql数据库存储过程怎么写
  • 无票收入交不交增值税
  • 个税更改公司怎么操作
  • 主营业务利润和利润总额
  • 城镇土地使用税怎么算
  • 委托代销商品支付的手续费计入销售费用吗
  • 公司社保委托代发银行是工资卡银行吗
  • 员工体检的发票在哪里开
  • 小规模纳税人抵扣税控盘增值税怎么申报
  • 会计凭证装订时间法律规定
  • 发生以下情况
  • sql server常用
  • mysql5717安装过程
  • windowsxp删除所有内容
  • 微软手机
  • win10怎么关闭定时断网功能
  • 升级怎么玩
  • win10注册表详解
  • linux中命令行
  • Facebook Open Platform编译FAQ
  • cocos2dx 2.2.2
  • javascript基础笔记
  • linux守护进程管理
  • 在指定目录查找的文件
  • 全面解析日本失去的十年
  • shell中判断字符串
  • js如何打印服务器图片
  • js实现拖拽功能
  • python之父推荐的书
  • 6种javascript显示当前系统时间代码
  • jQuery+Ajax实现限制查询间隔的方法
  • 山东发票查询系统平台
  • 发票上的税额由谁填写
  • 7.1税务新政策
  • 煤炭限产是利好还是利空
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设