主要内容

开始使用深网络设计师

此示例显示如何使用深网络设计器来调整佩带的Googlenet网络以对新的图像集进行分类。此过程称为传输学习,通常比培训新网络更快,更容易,因为您可以使用较少数量的培训图像将学习功能应用于新任务。为了交互式地为传输学习进行准备,使用深网络设计师。

提取培训数据

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

解压缩(“MerchData.zip”);

选择一个预训练网络

打开深度网络设计师。

DeepNetWorkDesigner.

通过从深网络设计器开始页面选择它来加载预制的Googlenet网络。如果您需要下载网络,请单击安装打开附加资源管理器。

深度网络设计器显示整个网络的缩小视图。探索网络绘图。用鼠标放大,使用Ctrl.+滚轮。

加载数据集

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

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

该对话框还允许您从应用程序内分割验证数据。将数据划分为70%的训练数据和30%的验证数据。

指定增强操作以在培训图像上执行。对于该示例,在X轴上应用随机反射,从范围[-90,90]度的随机旋转,以及从范围[1,2]的随机重新扫描。

点击进口将数据导入深度网络设计器。

使用深度网络设计师,您可以直观地检查培训和验证数据的分发数据标签。您可以看到,在此示例中,数据集中有五个类。您还可以查看每个类的随机观察。

深度网络设计师在训练期间调整图像的大小以匹配网络输入大小。要查看网络输入大小,请在设计师选项卡上,单击imageInputlayer.。该网络的输入大小为224-by-224。

编辑传输学习网络

为了重新训练一个预训练的网络来分类新的图像,将最后的可学习层和最后的分类层替换为适应新的数据集的新层。在google网络中,这些层有名字'loss3-classifier''输出', 分别。

设计师标签,拖动一个新的全康统计层图书馆库到画布上。放输出在新数据中的类数,在此示例中,5.

编辑学习率,以便在新图层中更快地学习而不是传输的图层。放举重Biaslearnratefactor.10.。删除最后一个完全连接的图层,连接你的新图层。

替换输出层。滚动到末尾图书馆库并拖动一个新的分类层到画布上。删除原来的输出层和连接你的新层代替。

检查网络

通过点击检查您的网络分析。如果深度学习网络分析仪报告零错误,网络已经准备好进行训练。

火车网络

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

如果您想要更好地控制培训,请单击培训方案并选择要培训的设置。默认培训选项更适合大型数据集。对于小数据集,请使用较小的百分比值和验证频率。有关选择培训选项的详细信息,请参阅trainingOptions

对于此示例,设置InitialLearnRate0.0001验证频繁5.,MaxEpochs8.。因为有55个观察,设定MiniBatchSize11.对训练数据进行均匀分割,保证每个阶段都使用整个训练集。

要使用指定的培训选项培训网络,请单击关闭然后点击火车

深度网络设计器允许您可视化和监控培训进度。然后,如果需要,您可以编辑培训选项并重新培训网络。

从培训导出结果

从培训导出结果,在训练选项卡上,选择出口>导出经过培训的网络和结果。深网络设计器将培训的网络导出为变量trainedNetwork_1训练信息作为变量trainInfoStruct_1

您还可以生成MATLAB代码,该代码重新创建网络和使用的培训选项。在这一点训练选项卡上,选择出口>生成培训代码

测试训练网络

利用训练好的网络选择一个新的图像进行分类。

我= imread(“merchdattest.jpg”);

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

I = imresize(I, [224 224]);

使用培训的网络对测试图像进​​行分类。

[ypred,probs] =分类(troutahynetwork_1,i);imshow(i)标签= ypred;标题(字符串(标签)+”、“+ num2str(100 *马克斯(聚合氯化铝),3)+“%”);

有关更多信息,请参阅其他掠夺网络,参见深层网络设计师

也可以看看

相关的话题