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求列表交集的方法汇总
Nov 10 Python
在Python中使用全局日志时需要注意的问题
May 06 Python
Python运算符重载详解及实例代码
Mar 07 Python
对python中的xlsxwriter库简单分析
May 04 Python
分析python请求数据
Aug 19 Python
python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比
Apr 15 Python
详解python中的time和datetime的常用方法
Jul 08 Python
浅析PyTorch中nn.Module的使用
Aug 18 Python
python 哈希表实现简单python字典代码实例
Sep 27 Python
关于numpy中eye和identity的区别详解
Nov 29 Python
Python迭代器Iterable判断方法解析
Mar 16 Python
scrapy处理python爬虫调度详解
Nov 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中在PDO中使用事务(Transaction)
2011/05/14 PHP
PHP中的函数嵌套层数限制分析
2011/06/13 PHP
PHP与Ajax相结合实现登录验证小Demo
2016/03/16 PHP
PHP递归遍历指定文件夹内的文件实现方法
2016/11/15 PHP
php 将json格式数据转换成数组的方法
2018/08/21 PHP
如何在PHP中使用AES加密算法加密数据
2020/06/24 PHP
用javascript实现兼容IE7的类库 IE7_0_9.zip提供下载
2007/08/08 Javascript
JQuery中getJSON的使用方法
2010/12/13 Javascript
JS简单实现登陆验证附效果图
2013/11/19 Javascript
jsp网页搜索结果中实现选中一行使其高亮
2014/02/17 Javascript
javascript实现点击商品列表checkbox实时统计金额的方法
2015/05/15 Javascript
JavaScript声明变量名的语法规则
2015/07/10 Javascript
Javascript BOM学习小结(六)
2015/11/26 Javascript
jQuery点击输入框显示验证码图片
2016/05/19 Javascript
AngularJS实现按钮提示与点击变色效果
2016/09/07 Javascript
微信小程序  modal弹框组件详解
2016/10/27 Javascript
基于javascript实现最简单选项卡切换
2017/02/01 Javascript
详解webpack 配合babel 将es6转成es5 超简单实例
2017/05/02 Javascript
JS实现点击Radio动态更新table数据
2017/07/18 Javascript
对vux点击事件的优化详解
2018/08/28 Javascript
将RGB值转换为灰度值的简单算法
2019/10/09 Javascript
Python translator使用实例
2008/09/06 Python
浅谈python中的__init__、__new__和__call__方法
2017/07/18 Python
Python基于多线程操作数据库相关问题分析
2018/07/11 Python
python 对给定可迭代集合统计出现频率,并排序的方法
2018/10/18 Python
利用pyecharts实现地图可视化的例子
2019/08/12 Python
Python实现列表中非负数保留,负数转化为指定的数值方式
2020/06/04 Python
分布式全文检索引擎ElasticSearch原理及使用实例
2020/11/14 Python
基于HTML5 Canvas的3D动态Chart图表的示例
2017/11/02 HTML / CSS
绢花、人造花和人造花卉:BLOOM
2019/08/07 全球购物
用JAVA SOCKET编程,读服务器几个字符,再写入本地显示
2012/11/25 面试题
如何反序的迭代一个序列?how do I iterate over a sequence in reverse order
2012/02/04 面试题
2013的个人自我评价
2013/12/26 职场文书
《逃家小兔》教学反思
2014/02/23 职场文书
师德师风演讲稿
2014/05/05 职场文书
工作作风懒散检讨书
2014/10/29 职场文书