pytorch 更改预训练模型网络结构的方法


Posted in Python onAugust 19, 2019

一个继承nn.module的model它包含一个叫做children()的函数,这个函数可以用来提取出model每一层的网络结构,在此基础上进行修改即可,修改方法如下(去除后两层):

resnet_layer = nn.Sequential(*list(model.children())[:-2])

那么,接下来就可以构建我们的网络了:

class Net(nn.Module):
  def __init__(self , model):
    super(Net, self).__init__()
    #取掉model的后两层
    self.resnet_layer = nn.Sequential(*list(model.children())[:-2])
    
    self.transion_layer = nn.ConvTranspose2d(2048, 2048, kernel_size=14, stride=3)
    self.pool_layer = nn.MaxPool2d(32) 
    self.Linear_layer = nn.Linear(2048, 8)
    
  def forward(self, x):
    x = self.resnet_layer(x)
 
    x = self.transion_layer(x)
 
    x = self.pool_layer(x)
 
    x = x.view(x.size(0), -1) 
 
    x = self.Linear_layer(x)
    
    return x

最后,构建一个对象,并加载resnet预训练的参数就可以啦~

resnet = models.resnet50(pretrained=True)
model = Net(resnet)

以上这篇pytorch 更改预训练模型网络结构的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Mac下Supervisor进程监控管理工具的安装与配置
Dec 16 Python
简要讲解Python编程中线程的创建与锁的使用
Feb 28 Python
CentOS 6.5中安装Python 3.6.2的方法步骤
Dec 03 Python
python向已存在的excel中新增表,不覆盖原数据的实例
May 02 Python
如何用python整理附件
May 13 Python
python批量下载网站马拉松照片的完整步骤
Dec 05 Python
python实现文本进度条 程序进度条 加载进度条 单行刷新功能
Jul 03 Python
解决TensorFlow GPU版出现OOM错误的问题
Feb 03 Python
Scrapy框架基本命令与settings.py设置
Feb 06 Python
python如何爬取网页中的文字
Jul 28 Python
python代数式括号有效性检验示例代码
Oct 04 Python
方法汇总:Python 安装第三方库常用
Apr 26 Python
pytorch打印网络结构的实例
Aug 19 #Python
pytorch索引查找 index_select的例子
Aug 18 #Python
浅谈Pytorch中的torch.gather函数的含义
Aug 18 #Python
PyTorch中Tensor的维度变换实现
Aug 18 #Python
PyTorch中Tensor的拼接与拆分的实现
Aug 18 #Python
详解PyTorch中Tensor的高阶操作
Aug 18 #Python
浅析PyTorch中nn.Linear的使用
Aug 18 #Python
You might like
基于文本的留言簿
2006/10/09 PHP
ci检测是ajax还是页面post提交数据的方法
2014/11/10 PHP
php+mysqli使用预处理技术进行数据库查询的方法
2015/01/28 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
2017/12/21 PHP
Javascript & DHTML 实例编程(教程)(三)初级实例篇1—上传文件控件实例
2007/06/02 Javascript
javascript中使用replaceAll()函数实现字符替换的方法
2010/12/25 Javascript
JS随即打乱数组实现代码
2012/12/03 Javascript
Javascript中浮点数相乘的一个解决方法
2014/06/03 Javascript
js创建表单元素并使用submit进行提交
2014/08/14 Javascript
js实现带有介绍的Select列表菜单实例
2015/08/18 Javascript
JS实现的通用表单验证插件完整实例
2015/08/20 Javascript
BootstrapValidator超详细教程(推荐)
2016/12/07 Javascript
WebView启动支付宝客户端支付失败的问题小结
2017/01/11 Javascript
jQuery实现大图轮播
2017/02/13 Javascript
Angular2 Service实现简单音乐播放器服务
2017/02/24 Javascript
Node.JS中快速扫描端口并发现局域网内的Web服务器地址(80)
2017/09/18 Javascript
基于twbsPagination.js分页插件使用心得(分享)
2017/10/21 Javascript
详解使用Next.js构建服务端渲染应用
2018/07/10 Javascript
微信小程序自定义组件封装及父子间组件传值的方法
2018/08/28 Javascript
详解Angular Karma测试的持续集成实践
2019/11/15 Javascript
Vue中点击active并第一个默认选中功能的实现
2020/02/24 Javascript
nuxt 路由、过渡特效、中间件的实现代码
2020/11/06 Javascript
如何使用原生Js实现随机点名详解
2021/01/06 Javascript
[55:32]2018DOTA2亚洲邀请赛 4.4 淘汰赛 EG vs LGD 第二场
2018/04/05 DOTA
在Python中使用next()方法操作文件的教程
2015/05/24 Python
Python中的多行注释文档编写风格汇总
2016/06/16 Python
Python中关键字global和nonlocal的区别详解
2018/09/03 Python
15行Python代码实现网易云热门歌单实例教程
2019/03/10 Python
使用Python Tkinter实现剪刀石头布小游戏功能
2020/10/23 Python
前后端结合实现amazeUI分页效果
2020/08/21 HTML / CSS
MAC彩妆澳洲官网:M·A·C AU
2021/01/17 全球购物
用Python匹配HTML tag的时候,<.*>和<.*?>有什么区别
2012/11/04 面试题
函授毕业生的自我鉴定
2013/11/26 职场文书
销售员岗位职责
2015/02/10 职场文书
Python中Selenium对Cookie的操作方法
2021/07/09 Python
Python 读取千万级数据自动写入 MySQL 数据库
2022/06/28 Python