MATLAB迁移学习:使用预训练卷积神经网络‌

关注微信公众号:数学建模BOOM,回复“迁移学习”,获取本文的matlab代码文件(本文只展示思路与结果)。

cut-off

此示例说明如何微调预训练的 GoogLeNet 卷积神经网络以对新的图像集合执行分类。

GoogLeNet 已经对超过一百万个图像进行了训练,该网络已基于大量图像学习了丰富的特征表示。

您可以采用预训练的网络,基于它学习新任务。与使用随机初始化的权重从头训练网络相比,通过迁移学习微调网络要更快更简单。

加载数据

解压缩新图像并加载这些图像作为图像数据存储,这个非常小的数据集现在包含 55 个训练图像和 20 个验证图像。显示一些示例图像。

加载预训练网络

加载预训练的 GoogLeNet 神经网络。使用 deepNetworkDesigner 可以交互可视方式呈现网络架构以及有关网络层的详细信息。

第一层是图像输入层,需要大小为 224×224×3 的输入图像,其中 3 是颜色通道数。

替换最终层

预训练网络 net 的全连接层和分类层针对 1000 个类进行配置,从经过训练的网络中提取层次图。将全连接层替换为新的全连接层,其中输出的数量等于类的数量。

训练网络

网络要求输入图像的大小为 224×224×3,但图像数据存储中的图像具有不同大小。使用增强的图像数据存储可自动调整训练图像的大小。

指定要对训练图像额外执行的增强操作:沿垂直轴随机翻转训练图像,以及在水平和垂直方向上随机平移训练图像最多 30 个像素。数据增强有助于防止网络过拟合和记忆训练图像的具体细节。

指定训练选项。对于迁移学习,请保留预训练网络的较浅层中的特征(迁移的层权重)。要减慢迁移的层中的学习速度,请将初始学习速率设置为较小的值。

训练由迁移的层和新层组成的网络。默认情况下,trainNetwork 使用 GPU(如果有)。这需要 Parallel Computing Toolbox™ 和支持的 GPU 设备。

对验证图像进行分类

使用经过微调的网络对验证图像进行分类,并显示四个示例验证图像及预测的标签。

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空