这个例子展示了如何使用实验管理器来优化在深度网络设计器中训练的网络的超参数。
你可以用深度网络设计器创建网络,导入数据,培训网络。你可以使用实验经理扫描超参数值范围以找到最佳训练选项。
要生成实时脚本以重新创建在Deep network Designer中构建的网络的构建和训练,请在培训选项卡上,选择出口>生成用于培训的代码。选择MAT文件位置并单击好啊.有关如何在深度网络设计器中训练分类网络的示例,请参见使用深度网络设计器创建简单的图像分类网络.
深度网络设计师创建一个实时脚本和MAT文件,其中包含来自网络的初始参数(权重和偏差)。如果您将数据从工作区导入到Deep Network Designer中,那么生成的MAT文件也包含数据。
运行生成的脚本构建网络(包括MAT文件中的可学习参数)、导入数据、设置训练选项并训练网络。
“实验管理器”使您能够创建深度学习实验,以在各种初始条件下训练网络,并比较结果。您可以使用“实验管理器”在“深度网络设计器”中调整初始训练的网络。
开放实验管理器。
experimentManager
暂停项目并点击创造.Experience Manager提供了多个模板,支持许多深度学习工作流,包括图像分类、图像回归、序列金宝app分类、语义分割和自定义训练循环。
暂停内置的培训并点击添加.
指定新项目的名称和位置并单击拯救.实验经理在项目中打开一个新的实验。的实验窗格显示定义实验的描述、超参数、设置功能和指标。
在hyperparameter表中,指定要在实验中使用的hyperparameters的值。运行实验时,实验管理器使用表中指定的hyperparameter值的每个组合来训练网络。在本例中,扫描初始学习速率。
下Hyperparameters点击添加添加一个新的超参数以进行扫描。
添加hyperparametermyInitialLearnRate
.设置超参数以扫描值序列0.001:0.002:0.015
.
创建实验时,实验管理器将创建设置函数模板。要编辑此函数,请在下设置函数点击编辑.
空的setup函数实验1\u设置1
在MATLAB编辑器中打开。实验管理器使用此函数的输出来调用trainNetwork
函数。
设置功能用于指定实验的训练数据、网络体系结构和训练选项。
在设置功能内复制和粘贴由深度网络设计器生成的现场脚本。
通过更改函数输入参数以匹配生成的脚本中的变量名,调整脚本以在实验管理器中使用。的输入参数实验1\u设置1
必须匹配生成的脚本在调用中使用的trainNetwork
.
在由Deep Network Designer生成的脚本中,在调用中,在生成的实时脚本底部找到数据、网络和培训选项的变量名trainNetwork
.将setup函数的输入参数更改为匹配。例如,如果您生成的实时脚本调用trainNetwork
与数据imdsTrain
,网络lgraph
,以及培训选项选择
,则必须在实验设置函数输入参数中进行以下更改:
改变培训数据
来imdsTrain
.
改变层
来lgraph
.
改变选项
来选择
.
您可以通过在setup函数输入参数中查找黄色下划线来检查输入参数是否需要更改。
改变训练选项,使实验管理器对学习率进行超参数扫描。
初始学习率设置为参数myInitialLearnRate
.
可以选择通过添加额外的name-value参数来隐藏输出信息“冗长”,错
.
trainNetwork
实验管理器使用setup函数的输出来调用trainNetwork
函数。删除对trainNetwork
复制和粘贴生成的代码。
setup功能现在已经准备好了。点击拯救保存已编辑的设置功能。
在实验管理器中,单击运行实验运行.当您运行实验时,实验管理器将训练由设置功能定义的网络。每次试验使用超参数表中指定的一个学习率。
在实验运行时,单击培训策划显示训练图并跟踪每次试验的进度。
结果表显示了每个试验的准确性和损失。实验完成后,您可以根据准确度或损失指标对试验进行排序,以查看哪个试验表现最好。在本实验中,试验6的初始学习率为0.0110,验证准确率最高。
结束实验,在实验的浏览器窗格中,右键单击项目的名称并选择关闭项目.实验管理器关闭项目中包含的所有实验和结果。
深度网络设计器|实验经理|培训选项
|trainNetwork