主要内容

开始使用深层网络设计师

这个例子展示了如何使用深层网络设计师适应pretrained GoogLeNet网络分类新图片的集合。这个过程称为转移学习和通常比训练一个新的网络快得多,也更容易,因为你可以学到特性应用于一个新的任务使用较少的训练图像。准备一个传输网络学习交互,使用深度网络设计师。

培训中提取数据

在工作区中,解压缩数据。

解压缩(“MerchData.zip”);

选择一个Pretrained网络

打开深层网络设计师。

deepNetworkDesigner

加载一个pretrained GoogLeNet网络通过选择从深层网络设计师开始页面。如果你需要下载网络,然后单击安装打开插件浏览器。

深层网络设计师的缩放视图显示整个网络。探索网络图。放大用鼠标,使用Ctrl+滚轮。

加载数据集

将数据加载到深层网络设计师,在数据选项卡上,单击导入数据>导入图像数据。导入图像数据对话框打开。

数据源列表中,选择文件夹。点击浏览并选择提取MerchData文件夹。

对话框还允许您将验证数据中的应用。将数据分为训练数据70%和30%的验证数据。

指定训练图像增强操作执行。对于这个示例,应用随机反射轴,一个随机的旋转范围(-90、90)度,和一个随机重新调节范围[1,2]。

点击进口将数据导入到深层网络设计师。

使用深度网络设计师,可以直观地检查的培训和验证数据的分布数据选项卡。你可以看到,在这个例子中,有五类数据集。您还可以查看随机观察每个类。

深层网络设计师调整图像的大小在训练输入匹配网络的大小。查看网络输入的大小设计师选项卡上,单击imageInputLayer。这个网络有一个输入的大小224 - 224。

学习编辑网络传输

再教育pretrained网络分类的新图像,取代过去可学的一层一层和最后的分类与新层适应新的数据集。在GoogLeNet,这些层的名字“loss3-classifier”“输出”,分别。

设计师选项卡,拖一个新的fullyConnectedLayer层的图书馆到画布上。集OutputSize在新数据类的数量,在这个例子中,5

编辑学习速度更快地学习新层的传输层。集WeightLearnRateFactorBiasLearnRateFactor10。删除最后一个完全连接层和连接你的新层。

替换输出层。滚动到结束的层的图书馆并拖动一个新的classificationLayer到画布上。删除原来的输出层和连接你的新层。

检查网络

检查你的网络点击分析。网络已经准备好培训如果深度学习网络分析仪报告零错误。

列车网络的

培训网络使用默认设置,在培训选项卡上,单击火车

如果你想要更大的控制训练,点击培训方案并选择设置训练。默认训练选项更适合大型数据集。对于较小的数据集,使用较小的值mini-batch大小和验证的频率。选择培训选项的更多信息,请参阅trainingOptions

对于这个示例,集InitialLearnRate0.0001,ValidationFrequency5,MaxEpochs8。有55的观察,集MiniBatchSize11把训练数据均匀,确保整个训练集用于在每个时代。

训练的网络培训指定选项,点击关闭然后点击火车

深层网络设计师允许您可视化和监控培训的进展。然后您可以编辑培训选项和培训网络,如果需要的话。

出口培训的结果

出口培训的结果,培训选项卡上,选择出口>出口网络和训练的结果。深层网络设计师出口训练网络的变量trainedNetwork_1和培训信息的变量trainInfoStruct_1

你也可以生成MATLAB代码,再现了网络和使用培训选项。在培训选项卡上,选择出口>生成代码的训练

测试训练网络

选择一个新的图像分类使用训练网络。

我= imread (“MerchDataTest.jpg”);

调整测试图像匹配网络输入的大小。

I = imresize(我,(224 224));

分类测试图像使用训练网络。

(YPred,聚合氯化铝)= (trainedNetwork_1, I)进行分类;imshow (I)标签= YPred;标题(string(标签)+”、“+ num2str(100 *马克斯(聚合氯化铝),3)+“%”);

欲了解更多信息,包括其他pretrained网络上看到深层网络设计师

另请参阅

相关的话题