位置: 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)

  • 小米如何设置屏幕返回键(小米如何设置屏幕常亮时间)

    小米如何设置屏幕返回键(小米如何设置屏幕常亮时间)

  • u盘速度一会快一会为0(u盘速度一会快一会慢一会为0)

    u盘速度一会快一会为0(u盘速度一会快一会慢一会为0)

  • qq接收的文件在哪里找(qq接收的文件在电脑哪个位置)

    qq接收的文件在哪里找(qq接收的文件在电脑哪个位置)

  • 苹果不在通讯录有个感叹号(苹果不在通讯录的电话不响)

    苹果不在通讯录有个感叹号(苹果不在通讯录的电话不响)

  • 微信小程序获取位置失败(微信小程序获取定位)

    微信小程序获取位置失败(微信小程序获取定位)

  • 西万拓和西门子的关系(西万拓是哪个国家的)

    西万拓和西门子的关系(西万拓是哪个国家的)

  • 华为怎么开启电脑模式(华为怎么开启电话视频功能)

    华为怎么开启电脑模式(华为怎么开启电话视频功能)

  • 手机突然发出警报声(手机突然发出警报声咋回事苹果)

    手机突然发出警报声(手机突然发出警报声咋回事苹果)

  • 看抖音会不会留下访客记录(抖音会不会留下足迹)

    看抖音会不会留下访客记录(抖音会不会留下足迹)

  • 微信被限制登录不可解封有救吗(微信被限制登录没有好友辅助验证怎么办)

    微信被限制登录不可解封有救吗(微信被限制登录没有好友辅助验证怎么办)

  • ipada2197是ipad几(苹果ipada2197是什么型号)

    ipada2197是ipad几(苹果ipada2197是什么型号)

  • 如何修改wps图片文字(如何修改wps图片默认嵌入格式)

    如何修改wps图片文字(如何修改wps图片默认嵌入格式)

  • 来电语音提示在哪设置(来电语音提示在哪里)

    来电语音提示在哪设置(来电语音提示在哪里)

  • ios13三指手势怎么关闭(iphone三指手势)

    ios13三指手势怎么关闭(iphone三指手势)

  • 华为bkk一al00是什么型号(bkl-al00华为什么型号)

    华为bkk一al00是什么型号(bkl-al00华为什么型号)

  • 怎么通过照片原图定位(怎么通过照片原图定位手机)

    怎么通过照片原图定位(怎么通过照片原图定位手机)

  • 怎么删掉抖音作品(怎么删掉抖音作品结尾视频)

    怎么删掉抖音作品(怎么删掉抖音作品结尾视频)

  • 微信发什么会掉东西有特效(微信发什么会掉落东西)

    微信发什么会掉东西有特效(微信发什么会掉落东西)

  • 华为mate20pro和mate20区别(华为mate20pro和mate20X)

    华为mate20pro和mate20区别(华为mate20pro和mate20X)

  • 已连接不可上网啥意思(已连接不可上网怎么解决)

    已连接不可上网啥意思(已连接不可上网怎么解决)

  • linux是干嘛的(linux是干嘛的用)

    linux是干嘛的(linux是干嘛的用)

  • 快手上怎么投诉直播商家(在快手上买的商品怎样投诉)

    快手上怎么投诉直播商家(在快手上买的商品怎样投诉)

  • 手机电子邮箱在哪里(手机电子邮箱格式)

    手机电子邮箱在哪里(手机电子邮箱格式)

  • u启动win8 PE工具箱安装使用详细图文教程(怎么做win8系统u盘pe)

    u启动win8 PE工具箱安装使用详细图文教程(怎么做win8系统u盘pe)

  • 锯齿国家森林里的海狸坝,爱达荷州 (© Charles Knowles/Alamy)(森林抗锯齿)

    锯齿国家森林里的海狸坝,爱达荷州 (© Charles Knowles/Alamy)(森林抗锯齿)

  • 如何使用python绘制折线图?(用python绘制)

    如何使用python绘制折线图?(用python绘制)

  • 新公司个税申报怎么操作
  • 交了9个点的工程增值税不可以抵扣吗
  • 专款专用需要缴纳企业所得税吗?
  • 发票验旧是验旧已开发票还是未开发票
  • 小企业货币资金1710元正常吗
  • 买金税盘发票能全额抵进项税吗
  • 企业给职工交的养老金哪里去了
  • 商贸流通企业包括哪些
  • 供应商提供财务报表
  • 12月了还没找到工作怎么办
  • 货代行业红字冲正发票怎么做凭证
  • 汇算清缴补缴税分录
  • 小企业采用什么折旧方法
  • 对公账户打钱给私人账户,谁交税呢
  • 个税手续费返还会计分录
  • 建筑行业劳务费开发票可以开工程款吗?
  • 建筑企业甲供材税收筹划
  • 不能抵扣的福利发票要勾选吗为什么
  • 利润表与所得税申报表不符
  • 疏通下水道入什么经络
  • 商贸流通企业的构成
  • 个税经营所得申报怎么更正
  • win11系统开机密码设置
  • 原材料退库怎么做凭证
  • 股权转让个税怎么缴纳
  • 个人之间股权转让印花税怎么交
  • 资本化的后续支出包括哪些项目
  • vue get方法
  • 使用php进行mysql数据库编程的基本步骤
  • 小企业会计准则适用于哪些企业
  • chatGPT背后的真正逻辑
  • thinkphp exec
  • php反转
  • php web socket
  • 收到退回的增值税专用发票账务处理
  • 损益类科目调整影响所得税吗为什么
  • 定额发票累计领取怎么算
  • pytorch .t()
  • vue2和vue3的区别大么
  • php多线程与并发
  • 清算汇缴报表填什么内容
  • 增值税专用发票和普通发票的区别
  • 外聘人员差旅费怎么做账
  • 四联收据每一联用途
  • 小额贷款公司如何做账
  • 哪些公司可以开电费发票
  • 营业收入净额是销售收入净额吗
  • 利息收入为负数的原因
  • 向客户收取服务费会计分录
  • 先收到发票还没付款怎么做账
  • 销售货物的价外费用如何开票
  • 取得下列资产时应按公允价值计量
  • 旅游业小规模纳税人增值税申报
  • 购买银行理财产品的几个必须知道
  • 去年亏损今年盈利怎么弥补
  • 内部交易内部交易收益造成的当期折旧的多计额
  • linux命令sed -i
  • freebsd软件安装
  • win8安装出现了一些问题
  • linux cp 不是目录
  • 怎样查看windows10版本
  • window8输入法不见了
  • 学习英语
  • node·js
  • js文件里面有什么
  • android webview获取文本
  • node js require
  • 如何控制孩子的手机使用时间
  • node cd
  • android图库
  • android基础知识大全
  • 安卓动态图标怎么实现
  • python5.7汉诺塔
  • 广西国家税务局于红林
  • 婚前买房婚后个人还贷卖房怎么签字
  • 天津2023防暑降温费标准文件
  • 开具负数发票(专用发票)流程?
  • 自然人办税服务平台怎么登录不进?
  • 拆迁户契税减免政策文件
  • 社保每个月都要交吗,不交了会怎么样
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设