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

  • 个人所得税速算扣除数表
  • 未分配利润分配顺序
  • 冲销暂估原材料
  • 怎么根据实发工资算应发工资
  • 应收账款核销的会计处理
  • 销售免税的有机食品
  • 门面入股做生意
  • 企业赞助学校发言稿
  • 房产税细节
  • 分公司注销所得税
  • 增值税普通发票查询真伪
  • 私车公用油费计入什么科目
  • 发票 抵扣联
  • 管理费用的纳税调整
  • 如何查询企业开票记录
  • 税控系统全额抵扣增值税申报
  • 知识产权投资入股要交税吗
  • 专项应付款贷方是什么意思
  • 买新车抵旧车
  • 高新企业研发费用认定条件
  • 百旺税控怎么赋码
  • 应收账款应计利息公式如何理解
  • 股东不发工资只给员工钱
  • 手机文件打开方式怎么设置默认
  • .exe文件怎么打不开
  • 事业基金的主要账务处理
  • 补记以前年度收入怎么做账
  • 如何在win7系统中找到ie浏览器
  • 缴税怎么入账
  • 怎么修改boot启动项
  • 待摊费用从当月摊销还是下月摊销
  • 固定资产更新改造支出计入什么科目
  • kb4586853 补丁
  • php数组函数 菜鸟
  • 增值税发票开红字发票后账务处理?
  • 小满Vue3第三十六章(Vue如何开发移动端)
  • 设备销售合作协议书范本
  • sql代码大全
  • let,const,var区别
  • 2022年电子设计大赛F题
  • GPT-4 手画设计稿 直接生成前端页面
  • RocketMQ-02
  • docker部署架构图
  • icse论文
  • 谷粒学院项目含金量
  • linux mail命令详解
  • 旅行社差额征收 政策
  • 劳务费800以上扣税标准
  • asp连接sqlserver数据库的三种方式是什么?
  • 所得税报表的营业成本包括费用吗
  • 土地使用税计入管理费用还是税金及附加
  • 每天统计数据的表格
  • 税金及附加里面包含什么
  • 建筑公司预收工程款
  • 资本公积占比多少合适
  • 水利建设基金现在入费用还是入应交税费了
  • 企业增值税申报流程
  • 企业哪些进项税抵扣
  • 付给农民的土地使用费
  • 审计年审内容
  • windows 11安全模式
  • win7如何创建新桌面
  • win7 win8 win8.1
  • ssh远程安装软件
  • win10个性化颜色在开始任务栏选不了
  • jquery插件怎么写
  • html图像元素
  • 支付宝是怎么写
  • jquery中的siblings方法
  • js判断字符串字符出现的次数
  • junit 原理
  • python微信查单删
  • 去伪存真栏目为什么取消啦
  • python添加用户并加入到相应组
  • python twinter
  • 江苏省全电发票开通流程
  • 车船税是电子版的怎么年检
  • 江苏国税电子网
  • 预交增值税税款退税流程
  • 陕西省西安市国家民用航天产业基地邮编
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设