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 xlrd读取excel日期类型的2种方法
Apr 28 Python
Python之ReportLab绘制条形码和二维码的实例
Jan 15 Python
Python wxpython模块响应鼠标拖动事件操作示例
Aug 23 Python
使用EduBlock轻松学习Python编程
Oct 08 Python
对python csv模块配置分隔符和引用符详解
Dec 12 Python
python 实现读取一个excel多个sheet表并合并的方法
Feb 12 Python
Python常见的pandas用法demo示例
Mar 16 Python
PyTorch中 tensor.detach() 和 tensor.data 的区别详解
Jan 06 Python
python无序链表删除重复项的方法
Jan 17 Python
django 多数据库及分库实现方式
Apr 01 Python
Python基于百度AI实现OCR文字识别
Apr 02 Python
python实点云分割k-means(sklearn)详解
May 28 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
第一个无线电台是由谁发明的
2021/03/01 无线电
PHP生成静态页
2006/11/25 PHP
PHP has encountered an Access Violation at 7C94BD02解决方法
2009/08/24 PHP
php 目录与文件处理-郑阿奇(续)
2011/07/04 PHP
php 操作调试的方法
2012/07/12 PHP
处理单名多值表单的详解
2013/06/08 PHP
探讨:如何使用PHP实现计算两个日期间隔的年、月、周、日数
2013/06/13 PHP
Yii PHP Framework实用入门教程(详细介绍)
2013/06/18 PHP
深入理解PHP内核(一)
2015/11/10 PHP
在laravel5.2中实现点击用户头像更改头像的方法
2019/10/14 PHP
laravel框架使用阿里云短信发送消息操作示例
2020/02/15 PHP
JavaScript类和继承 constructor属性
2010/03/04 Javascript
原生js实现shift/ctrl/alt按键的获取
2013/04/08 Javascript
利用JS延迟加载百度分享代码,提高网页速度
2013/07/01 Javascript
设计模式中的facade外观模式在JavaScript开发中的运用
2016/05/18 Javascript
jQuery回调方法使用示例
2017/06/26 jQuery
如何将HTML字符转换为DOM节点并动态添加到文档中详解
2018/08/19 Javascript
再也不怕 JavaScript 报错了,怎么看怎么处理都在这儿
2020/12/09 Javascript
深入讲解Java编程中类的生命周期
2016/02/05 Python
python处理xml文件的方法小结
2017/05/02 Python
python生成excel的实例代码
2017/11/08 Python
Python Requests库基本用法示例
2018/08/20 Python
用Python读取几十万行文本数据
2018/12/24 Python
Numpy中np.random.rand()和np.random.randn() 用法和区别详解
2020/10/23 Python
英国家用电器购物网站:Hughes
2018/02/23 全球购物
Big Green Smile德国网上商店:提供各种天然产品
2018/05/23 全球购物
澳大利亚领先的优质葡萄酒拍卖会:Langton’s Fine Wines
2019/03/24 全球购物
乌克兰的第一家手表店:Deka
2020/03/05 全球购物
应届毕业生求职信
2013/11/30 职场文书
心碎乌托邦的创业计划书范文
2013/12/26 职场文书
售后服务承诺书范文
2014/03/26 职场文书
2014公司党员自我评价范文
2014/09/11 职场文书
你对自己的信用报告有过了解吗?
2019/07/09 职场文书
Spring this调用当前类方法无法拦截的示例代码
2022/03/20 Java/Android
Mysql多层子查询示例代码(收藏夹案例)
2022/03/31 MySQL
Springboot中如何自动转JSON输出
2022/06/16 Java/Android