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 相关文章推荐
Python异常学习笔记
Feb 03 Python
Python实现批量压缩图片
Jan 25 Python
Flask 让jsonify返回的json串支持中文显示的方法
Mar 26 Python
python中plot实现即时数据动态显示方法
Jun 22 Python
python取数作为临时极大值(极小值)的方法
Oct 15 Python
详解python校验SQL脚本命名规则
Mar 22 Python
3种python调用其他脚本的方法
Jan 06 Python
解决json中ensure_ascii=False的问题
Apr 03 Python
Python基础类继承重写实现原理解析
Apr 03 Python
简单了解Django项目应用创建过程
Jul 06 Python
Python pandas对excel的操作实现示例
Jul 21 Python
Python创建SQL数据库流程逐步讲解
Sep 23 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
PHP MemCached 高级缓存应用代码
2010/08/05 PHP
CodeIgniter常用知识点小结
2016/05/26 PHP
javascript获取当前日期时间及其它操作函数
2011/01/11 Javascript
学习从实践开始之jQuery插件开发 菜单插件开发
2012/05/03 Javascript
jquery中交替点击事件的实现代码
2014/02/14 Javascript
JS显示表格内指定行html代码的方法
2015/03/31 Javascript
浅谈window对象的scrollBy()方法
2015/07/15 Javascript
原生JavaScript实现动态省市县三级联动下拉框菜单实例代码
2016/02/03 Javascript
jQuery插件ajaxfileupload.js实现上传文件
2020/10/23 Javascript
全面解析JS字符串和正则表达式中的match、replace、exec等函数
2016/07/01 Javascript
javascript中活灵活现的Array对象详解
2016/11/30 Javascript
jQuery树插件zTree使用方法详解
2017/05/02 jQuery
vue.js 实现输入框动态添加功能
2018/06/25 Javascript
详解angular分页插件tm.pagination二次触发问题解决方案
2018/07/20 Javascript
关于js陀螺仪的理解分析
2019/04/11 Javascript
JS实现横向跑马灯效果代码
2020/04/20 Javascript
vant时间控件使用方法详解
2020/12/24 Javascript
python二叉树的实现实例
2013/11/21 Python
Python简单删除目录下文件以及文件夹的方法
2015/05/27 Python
Python Pandas实现数据分组求平均值并填充nan的示例
2019/07/04 Python
python 实现批量替换文本中的某部分内容
2019/12/13 Python
python可迭代对象去重实例
2020/05/15 Python
Cpython解释器中的GIL全局解释器锁
2020/11/09 Python
Python爬取酷狗MP3音频的步骤
2021/02/26 Python
html5使用Drag事件编辑器拖拽上传图片的示例代码
2017/08/22 HTML / CSS
HTML5高仿微信聊天、微信聊天表情|对话框|编辑器功能
2018/04/23 HTML / CSS
90后毕业生的求职信范文
2013/09/21 职场文书
大学生护理专业自荐信
2013/10/03 职场文书
5.1手机促销活动
2014/01/17 职场文书
亮化工程实施方案
2014/03/17 职场文书
公司承诺书格式
2014/05/21 职场文书
解除劳动合同证明书
2014/09/26 职场文书
2014年单位工作总结范文
2014/11/27 职场文书
关于长城的导游词
2015/01/30 职场文书
农村结婚典礼主持词
2015/06/29 职场文书
解决vue $http的get和post请求跨域问题
2021/06/07 Vue.js