PyTorch的SqueezeNet的迁移训练

flyfish

mobilenet v2完整的迁移训练代码
SqueezeNet有两个版本分别是SqueezeNet 1.0和SqueezeNet 1.1
这里说的是迁移SqueezeNet 1.1
使用预训练模型,将1000类别更改为2类
它的网络结构如下

SqueezeNet((features): Sequential((0): Conv2d(3, 64, kernel_size=(3, 3), stride=(2, 2))(1): ReLU(inplace=True)(2): MaxPool2d(kernel_size=3, stride=2, padding=0, dilation=1, ceil_mode=True)(3): Fire((squeeze): Conv2d(64, 16, kernel_size=(1, 1), stride=(1, 1))(squeeze_activation): ReLU(inplace=True)(expand1x1): Conv2d(16, 64, kernel_size=(1, 1), stride=(1, 1))(expand1x1_activation): ReLU(inplace=True)(expand3x3): Conv2d(16, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))(expand3x3_activation): ReLU(inplace=True))(4): Fire((squeeze): Conv2d(128, 16, kernel_size=(1, 1), stride=(1, 1))(squeeze_activation): ReLU(inplace=True)(expand1x1): Conv2d(16, 64, kernel_size=(1, 1), stride=(1, 1))(expand1x1_activation): ReLU(inplace=True)(expand3x3): Conv2d(16, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))(expand3x3_activation): ReLU(inplace=True))(5): MaxPool2d(kernel_size=3, stride=2, padding=0, dilation=1, ceil_mode=True)(6): Fire((squeeze): Conv2d(128, 32, kernel_size=(1, 1), stride=(1, 1))(squeeze_activation): ReLU(inplace=True)(expand1x1): Conv2d(32, 128, kernel_size=(1, 1), stride=(1, 1))(expand1x1_activation): ReLU(inplace=True)(expand3x3): Conv2d(32, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))(expand3x3_activation): ReLU(inplace=True))(7): Fire((squeeze): Conv2d(256, 32, kernel_size=(1, 1), stride=(1, 1))(squeeze_activation): ReLU(inplace=True)(expand1x1): Conv2d(32, 128, kernel_size=(1, 1), stride=(1, 1))(expand1x1_activation): ReLU(inplace=True)(expand3x3): Conv2d(32, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))(expand3x3_activation): ReLU(inplace=True))(8): MaxPool2d(kernel_size=3, stride=2, padding=0, dilation=1, ceil_mode=True)(9): Fire((squeeze): Conv2d(256, 48, kernel_size=(1, 1), stride=(1, 1))(squeeze_activation): ReLU(inplace=True)(expand1x1): Conv2d(48, 192, kernel_size=(1, 1), stride=(1, 1))(expand1x1_activation): ReLU(inplace=True)(expand3x3): Conv2d(48, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))(expand3x3_activation): ReLU(inplace=True))(10): Fire((squeeze): Conv2d(384, 48, kernel_size=(1, 1), stride=(1, 1))(squeeze_activation): ReLU(inplace=True)(expand1x1): Conv2d(48, 192, kernel_size=(1, 1), stride=(1, 1))(expand1x1_activation): ReLU(inplace=True)(expand3x3): Conv2d(48, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))(expand3x3_activation): ReLU(inplace=True))(11): Fire((squeeze): Conv2d(384, 64, kernel_size=(1, 1), stride=(1, 1))(squeeze_activation): ReLU(inplace=True)(expand1x1): Conv2d(64, 256, kernel_size=(1, 1), stride=(1, 1))(expand1x1_activation): ReLU(inplace=True)(expand3x3): Conv2d(64, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))(expand3x3_activation): ReLU(inplace=True))(12): Fire((squeeze): Conv2d(512, 64, kernel_size=(1, 1), stride=(1, 1))(squeeze_activation): ReLU(inplace=True)(expand1x1): Conv2d(64, 256, kernel_size=(1, 1), stride=(1, 1))(expand1x1_activation): ReLU(inplace=True)(expand3x3): Conv2d(64, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))(expand3x3_activation): ReLU(inplace=True)))(classifier): Sequential((0): Dropout(p=0.5, inplace=False)(1): Conv2d(512, 1000, kernel_size=(1, 1), stride=(1, 1))(2): ReLU(inplace=True)(3): AdaptiveAvgPool2d(output_size=(1, 1)))
)

我们要改的是

  (classifier): Sequential((0): Dropout(p=0.5, inplace=False)(1): Conv2d(512, 1000, kernel_size=(1, 1), stride=(1, 1))(2): ReLU(inplace=True)(3): AdaptiveAvgPool2d(output_size=(1, 1)))

如果采用 孔乙己的茴香豆的茴 ,使用与之前MobileNet 不同的写法。
将其改成

  (classifier): Sequential((0): Dropout(p=0.5, inplace=False)(1): Conv2d(512, 2, kernel_size=(1, 1), stride=(1, 1))(2): ReLU(inplace=True)(3): AdaptiveAvgPool2d(output_size=(1, 1)))

代码是

model_ft = models.squeezenet1_1(pretrained=True)
model_ft.classifier[1] = nn.Conv2d(in_channels=512, out_channels=2, kernel_size=(1, 1), stride=(1, 1))

PyTorch的SqueezeNet的迁移训练相关推荐

  1. PyTorch实战使用Resnet迁移学习

    PyTorch实战使用Resnet迁移学习 项目结构 项目任务 项目代码 网络模型测试 项目结构 数据集存放在flower_data文件夹 cat_to_name.json是makejson文件运行生 ...

  2. pytorch与keras_Keras vs PyTorch:如何通过迁移学习区分外星人与掠食者

    pytorch与keras by Patryk Miziuła 通过PatrykMiziuła Keras vs PyTorch:如何通过迁移学习区分外星人与掠食者 (Keras vs PyTorch ...

  3. Pytorch笔记:风格迁移

    Pytorch笔记:风格迁移 训练模型:风格迁移网络+VGG16网络 生成网络:风格迁移网络 代码如下(根据陈云<深度学习框架:Pytorch入门与实践>的代码改动) main.py im ...

  4. 【深度域自适应】二、利用DANN实现MNIST和MNIST-M数据集迁移训练

    前言 在前一篇文章[深度域自适应]一.DANN与梯度反转层(GRL)详解中,我们主要讲解了DANN的网络架构与梯度反转层(GRL)的基本原理,接下来这篇文章中我们将主要复现DANN论文Unsuperv ...

  5. 8_用opencv调用深度学习框架tenorflow、Pytorch、Torch、caffe训练好的模型(20190212)

    用opencv调用深度学习框架tenorflow.Pytorch.Torch.caffe训练好模型(20190212) 文章目录: https://blog.csdn.net/hust_bochu_x ...

  6. PyTorch项目使用TensorboardX进行训练可视化

    PyTorch项目使用TensorboardX进行训练可视化 什么是TensorboardX 配置TensorboardX 使用 pip 安装 从源码安装 使用TensorboardX 参考资料 什么 ...

  7. PyTorch如何加速数据并行训练?分布式秘籍大揭秘

    本文转载自机器之心. 选自arXiv 作者:Shen Li等 机器之心编译 参与:小舟.杜伟 PyTorch 在学术圈里已经成为最为流行的深度学习框架,如何在使用 PyTorch 时实现高效的并行化? ...

  8. TensorFlow Lite(实战系列一):TFLite Android 迁移训练构建自己的图像识别APP

    摘要 人工智能想要从实验室走向大众,一个必不可少的途径就是朝着智能终端.嵌入式产品等边缘设备发展.谷歌基于TFMobile推出了TFLite,我们只需要把训练好的模型按照一定规则转换成拥有.tflit ...

  9. 【深度域适配】二、利用DANN实现MNIST和MNIST-M数据集迁移训练

    知乎专栏链接:https://zhuanlan.zhihu.com/p/109057360 CSDN链接:https://daipuweiai.blog.csdn.net/article/detail ...

最新文章

  1. 企业怎样管理员工才会更有效?
  2. 第九届全国大学生智能汽车竞赛获奖名单
  3. MyBatis 框架概述
  4. SQL语句使用大全,最常用的sql语句
  5. 查看list的形状_用Wordcloud生成指定形状的词云图
  6. C++学习笔记—srand()和rand()
  7. 前端悬浮窗效果_头条|磁悬浮离心机组迎来市场春天
  8. loadrunner性能测试——第一步 录制脚本(中文版)
  9. 用200行Go代码写一个自己的区块链!
  10. 开花(在b数组中二分查找a数组元素)
  11. JSON数据写入和解析
  12. 苹果Mac电脑上fn键的妙用
  13. Python代码刷博客访问量
  14. 编写安全代码:小心使用浮点数
  15. IDA中类似VS的Call stack函数调用关系视图
  16. CAD二次开发获取已选择实体
  17. 分布式 HTAP 数据库 ADB PG 架构解析
  18. 在苹果Mac上怎样使用鼠标来放大图像?
  19. 中国区边界shp文件以及STRM 90m DEM分享(百度云免费下载链接)
  20. WPF控件模板和数据模板的区别

热门文章

  1. 睡眠的一场革命!-读《睡眠革命》笔记(上)
  2. PHP在线智能AI文章伪原创系统源码
  3. win10系统如何删除此电脑和左侧边栏wps(百度)(迅雷)网盘图标
  4. 【毕业设计 期末大作业超高分项目】html+php实现图书管理系统详细介绍
  5. 航空公司哪家强?2021年全球最佳航空公司排名出炉
  6. 什么是代理ARP(proxy ARP)
  7. 数据可视化实战:数据处理
  8. 游戏服务器 脚本任务系统,任务系统实现(数据结构和处理流程版)
  9. Python 必读好书,这十本分量十足!
  10. springcontext.xml 中方言是红色的_影评:陆河方言电影我的村,我的家值得一看