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操作MongoDB数据库PyMongo库使用方法
Apr 27 Python
python从入门到精通(DAY 2)
Dec 20 Python
python中Pycharm 输出中文或打印中文乱码现象的解决办法
Jun 16 Python
浅谈django开发者模式中的autoreload是如何实现的
Aug 18 Python
python在ubuntu中的几种安装方法(小结)
Dec 08 Python
Python Tkinter模块实现时钟功能应用示例
Jul 23 Python
Windows下Anaconda2安装NLTK教程
Sep 19 Python
Python数据类型之列表和元组的方法实例详解
Jul 08 Python
Python3+Requests+Excel完整接口自动化测试框架的实现
Oct 11 Python
PYTHON绘制雷达图代码实例
Oct 15 Python
python库skimage给灰度图像染色的方法示例
Apr 27 Python
Python中对象的比较操作==和is区别详析
Feb 12 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通过session防url攻击方法
2014/12/10 PHP
Yii中CGridView实现批量删除的方法
2015/12/28 PHP
制作个性化的WordPress登陆界面的实例教程
2016/05/21 PHP
PHP数据库处理封装类实例
2016/12/24 PHP
ThinkPHP下表单令牌错误与解决方法分析
2017/05/20 PHP
PHP获取访问设备信息的方法示例
2019/02/20 PHP
laravel Model 执行事务的实现
2019/10/10 PHP
JS对外部文件的加载及对IFRMAME的加载的实现,当加载完成后,指定指向方法(方法回调)
2011/07/04 Javascript
jquery中的mouseleave和mouseout的区别 模仿下拉框效果
2012/02/07 Javascript
javascript 获取图片尺寸及放大图片
2013/09/04 Javascript
nodejs npm install全局安装和本地安装的区别
2014/06/05 NodeJs
jQuery实现带延迟的二级tab切换下拉列表效果
2015/09/01 Javascript
JavaScript生成验证码并实现验证功能
2016/09/24 Javascript
canvas实现流星雨的背景效果
2017/01/13 Javascript
Bootstrap的Carousel配合dropload.js实现移动端滑动切换图片
2017/03/10 Javascript
vue better-scroll插件使用详解
2018/01/25 Javascript
highCharts提示框中显示当前时间的方法
2019/01/18 Javascript
VUE 自定义组件模板的方法详解
2019/08/30 Javascript
[03:41]DOTA2上海特锦赛小组赛第三日recap精彩回顾
2016/02/28 DOTA
[01:31:02]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第一场
2019/08/22 DOTA
python列表操作使用示例分享
2014/02/21 Python
python安装requests库的实例代码
2019/06/25 Python
关于Keras Dense层整理
2020/05/21 Python
Python实现SMTP邮件发送
2020/06/16 Python
python 获取字典键值对的实现
2020/11/12 Python
python中操作文件的模块的方法总结
2021/02/04 Python
CSS3中31种选择器使用方法教程
2013/12/05 HTML / CSS
世界顶级户外运动品牌折扣网站:LeftLane Sports
2019/06/12 全球购物
const char*, char const*, char*const的区别是什么
2014/07/09 面试题
如何查找网页漏洞
2016/06/22 面试题
材料加工硕士生求职信
2013/10/10 职场文书
光盘行动倡议书
2014/02/02 职场文书
合作协议书怎么写
2014/04/18 职场文书
竞选班长演讲稿500字
2014/08/22 职场文书
优秀三好学生事迹材料
2014/08/31 职场文书
python简单验证码识别的实现过程
2021/06/20 Python