位置: IT常识 - 正文

pytorch对网络层的增,删, 改, 修改预训练模型结构(pytorch自定义网络层)

编辑:rootadmin
pytorch对网络层的增,删, 改, 修改预训练模型结构 #下载模型参数model.load_state_dict(torch.load('model.pth'))#再加载网络的参数torch.load('model.pth')是获得网络参数

推荐整理分享pytorch对网络层的增,删, 改, 修改预训练模型结构(pytorch自定义网络层),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:pytorch怎么训练网络,pytorch 网络,pytorch网络搭建,pytorch定义网络,pytorch cnn网络,pytorch bp网络,pytorch输出网络结构,pytorch cnn网络,内容如对您有帮助,希望把文章链接给更多的朋友!

1.我们使用vgg11网络做示例, 看一下网络结构:

加载本地的模型:

vgg16 = models.vgg16(pretrained=False)#打印出预训练模型的参数vgg16.load_state_dict(torch.load('vgg16-397923af.pth'))

加载库中的模型

import torchimport torch.nn as nnfrom torchvision import modelsnet = models.vgg11(pretrained=True)print(net)

1)(1). 在网络中添加一层:

net网络是一个树型结构, net下面有三个结点,分别是(features, avgpoll, classifier), 我们先在features结点添加一层’lastlayer'层

net.features.add_module('lastlayer', nn.Conv2d(512,512, kernel_size=3, stride=1, padding=1))print(net) 1)(2). 在classifier结点添加一个线性层:net.classifier.add_module('Linear', nn.Linear(1000, 10))print(net)

2)(1)修改网络中的某一层(features 结点举例):net.features[8] = nn.Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))print(net)

 2)(2)修改网络中的某一层(classifier结点举例):net.classifier[6] = nn.Linear(1000, 5)print(net)pytorch对网络层的增,删, 改, 修改预训练模型结构(pytorch自定义网络层)

注意: 这里我尝试对Linear这一层进行更新, 但是Linear名字是字符串, 提取不出来,所以应该在之前添加网络时候, 名字不要取字符串, 否则会报错  ‘  'str' object cannot be interpreted as an integer’。 

 3)(1) 网络层的删除(features举例) classifier结点的操作相同。

直接使用nn.Sequential()对改层设置为空即可

net.features[13] = nn.Sequential()print(net)

 4)冻结网络中某些层 (直接使该层的requires_grad = False)即可, 这样在反向传播的时候,不会更新该层的参数#冻结指定层的预训练参数:net.feature[26].weight.requires_grad = False5). 第二种对网络结构的操作方法:net.features = nn.Sequential(*list(net.features.children())[:-4])

可以看到后面4层被去除了, 就是说可以使用列表切片的方法来删除网络层

net.classifier 对应 net.classifier.children()

net.features 对应 net.features.children()

  1. 先加载网络结构

自己的模型, model的类要有定义才可以, 如果在其他.py文件中,可以导入文件,然后用文件中的类实例化对象。model = torch.load(PATH)

 2.再加载网络参数

#下载模型参数

model.load_state_dict(torch.load('model.pth'))#再加载网络的参数torch.load('model.pth')是获得网络参数
本文链接地址:https://www.jiuchutong.com/zhishi/299377.html 转载请保留说明!

上一篇:vue 项目兼容 IE 浏览器(vue项目兼容ie9以上浏览器)

下一篇:【CSS】CSS 背景设置 ⑨ ( 背景半透明设置 )(css背景图)

  • 12306的下划线怎么写(12306的下划线怎么写手机)

    12306的下划线怎么写(12306的下划线怎么写手机)

  • 360浏览器怎么切换极速模式和兼容模式(360浏览器怎么切换模式)

    360浏览器怎么切换极速模式和兼容模式(360浏览器怎么切换模式)

  • 手机淘宝怎么开店步骤(手机淘宝怎么开启相册权限)

    手机淘宝怎么开店步骤(手机淘宝怎么开启相册权限)

  • 添加的表情包怎么删掉(添加的表情包怎么找不到)

    添加的表情包怎么删掉(添加的表情包怎么找不到)

  • 怎样私信已关注的人(怎样私信已关注的人手机上)

    怎样私信已关注的人(怎样私信已关注的人手机上)

  • 登录vivo账号显示网络异常(为什么vivo账号登录没反应)

    登录vivo账号显示网络异常(为什么vivo账号登录没反应)

  • 腾讯视频怎么录屏3分钟(腾讯视频怎么录音频)

    腾讯视频怎么录屏3分钟(腾讯视频怎么录音频)

  • iPhonexr为什么红色比较便宜(xr红屏怎么回事)

    iPhonexr为什么红色比较便宜(xr红屏怎么回事)

  • 电信有5g网络吗(电信有5g网络吗怎么设置)

    电信有5g网络吗(电信有5g网络吗怎么设置)

  • wps卡了退不出来怎么办(wps卡死关不了)

    wps卡了退不出来怎么办(wps卡死关不了)

  • se和5s屏幕总成通用吗(se换5s屏幕)

    se和5s屏幕总成通用吗(se换5s屏幕)

  • 充电器接口松动怎么办(充电器接口松动是怎么回事)

    充电器接口松动怎么办(充电器接口松动是怎么回事)

  • 智能卡无效是什么情况(智能卡无效是什么意思啊)

    智能卡无效是什么情况(智能卡无效是什么意思啊)

  • scada系统包含什么系统

    scada系统包含什么系统

  • oppo手机导航键在哪里设置(oppo手机导航键震动怎么取消)

    oppo手机导航键在哪里设置(oppo手机导航键震动怎么取消)

  • vivo手机快充充电慢怎么办(vivo手机快充充电线)

    vivo手机快充充电慢怎么办(vivo手机快充充电线)

  • 手机ssid怎么设置(手机如何设置ssid)

    手机ssid怎么设置(手机如何设置ssid)

  • 大众点评d币在哪查询(大众点评d币在哪看)

    大众点评d币在哪查询(大众点评d币在哪看)

  • 手机qq预设账号数量能调吗(手机qq预设账号已达上限怎么解决)

    手机qq预设账号数量能调吗(手机qq预设账号已达上限怎么解决)

  • 手机小爱同学怎么唤醒(手机小爱同学怎么控制家里的电器)

    手机小爱同学怎么唤醒(手机小爱同学怎么控制家里的电器)

  • 苹果x怎么看有没有锁(苹果X怎么看有没有贴膜)

    苹果x怎么看有没有锁(苹果X怎么看有没有贴膜)

  • bios setup是什么意思中文(biossetup是什么意思啊笔记本电脑)

    bios setup是什么意思中文(biossetup是什么意思啊笔记本电脑)

  • 苹果xs双网通和公开版的区别

    苹果xs双网通和公开版的区别

  • 苹果6s手电筒不亮原因

    苹果6s手电筒不亮原因

  • csinsm32.exe是安全的进程吗 csinsm32进程有哪些用处

    csinsm32.exe是安全的进程吗 csinsm32进程有哪些用处

  • 小饭店税务登记证办理流程
  • 幼儿园账务处理及报税
  • 未确认融资费用怎么算
  • 什么情况下一般纳税人可以简易征收
  • 个体户申报重复申报怎么办
  • 公司 捐赠
  • 事业单位库存物品
  • 有留抵税额的会计处理
  • 个人所得税没有税也要申报吗
  • 隔月红冲发票对报税有影响
  • 如何理解定时是指收入在什么时候记入账册?
  • 员工借备用金怎么写摘要
  • 企业个人所得税逾期未申报怎么办
  • 印花税股权转让计税依据
  • 为何要简并增值税税率?
  • 一般纳税人认定标准500万是什么时候开始执行
  • 应交税费未交增值税怎么计算
  • 如何确定赊销额度
  • 税率变化应付账款怎么处理
  • 销售推广的常用形式
  • office自定义功能区
  • 惠普hp笔记本电脑怎么开机
  • 资产负债表的资产总额怎么看
  • 固定资产无偿转让程序是什么
  • 补缴社保公积金
  • 汽车销售私下收客户红包
  • 公司资产报废处理请示
  • 如何解决Windows10电脑卡顿现象
  • fsmb32.exe是什么进程 作用是什么 fsmb32进程查询
  • PHP:Memcached::cas()的用法_Memcached类
  • 职工教育经费会计准则最新规定
  • 增值税专用发票查询系统官方网站
  • passwd -s命令
  • thinkphp addons
  • php数据库管理
  • php的中文名
  • squid 启动命令
  • python 3.4.3 shell
  • vue使用百度地图md5报错
  • 为博客园开发了什么项目
  • mysql常用表
  • 存货的成本包括哪几项
  • 对公付款对方不开发票可以吗
  • 银行存款出现负数怎么办
  • 长期股权投资收益要交税吗
  • 白条抵库现象
  • 借管理费用贷应交税费个人所得税
  • 预收账款年底是不是不能有余额
  • 包工包料工程如何报价合理
  • 银行收取服务费
  • 附加税减免需要转营业外收入吗
  • 认缴出资额承担责任怎么算
  • 发票内容可以写工程款吗
  • 如何理解应收账款平均余额
  • 选择业务组合的原则是什么
  • mysql数据库查看是否区分大小写
  • sql汇总查询
  • win9怎么升级win10
  • win7系统怎么关闭病毒防护
  • 系统维护的主要内容有哪些
  • windows7怎么添加设备
  • ubuntu20.04卸载
  • linux系统中安装jar包没有
  • prevsrv.exe - prevsrv是什么进程 有什么用
  • win10资源管理器启动不了
  • unity开发3a
  • node.js document
  • linux whatis与whatis database 使用及查询方法(man使用实例)
  • python自动报表
  • jquery插件使用教程
  • angular script
  • 完美解决怠速抖动加油就平稳
  • linux启动的过程
  • unity分成
  • jquery的实现原理
  • javascript操作网页
  • 22号天蝎座的运势
  • android存储方式
  • 纳税人不如实申报税收怎么办
  • 个人所得税申报是什么意思
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设