这个例子展示了如何使用实验管理器.并行进行实验可以让你同时尝试不同的训练配置。您也可以使用MATLAB®同时进行培训。并行执行需要并行计算工具箱™。
在本例中,您训练两个网络对0到9的数字图像进行分类。实验用随机平移和水平反射生成的增强图像数据训练网络。数据增强可以防止网络过度拟合和记忆训练图像的确切细节。当您运行该实验时,experiment Manager会启动并行池并执行多个同时的试验,这取决于可用的并行工作程序的数量。每次试验使用不同的网络和训练选项组合。当你监控训练进度时,你可以停止表现不佳的试验。
作为替代方案,您可以使用帕弗
或帕菲尔
以编程方式并行训练多个网络。有关详细信息,请参阅并行训练深度学习网络.
首先,打开示例。“实验管理器”加载带有预配置实验的项目,您可以检查并运行该实验。要打开实验,请在实验浏览器窗格中,双击实验的名称(增广数据实验
).
内置训练实验包括描述、超参数表、设置函数和用于评估实验结果的度量函数集合。有关详细信息,请参阅配置内置训练实验.
这个描述字段包含实验的文本描述。对于本例,说明如下:
使用数据图像增强对数字数据集应用随机平移和水平反射的分类。
这个超参数部分指明策略(彻底扫除
)和用于实验的超参数值。当您运行实验时,experiment Manager使用超参数表中指定的每个超参数值组合来训练网络。这个例子使用了两个超参数,网络
和培训选项
.
网络
指定要训练的网络。此超参数的可能值为:
“7层”
-简单的网络与7层,包括一个卷积块组成的
,一个convolution2dLayer
,及雷卢耶
maxPooling2dLayer
“16层”
-由16层组成的网络,包括三个卷积块,每个卷积块由一个
,一个convolution2dLayer
,一个批处理规范化层
,及雷卢耶
maxPooling2dLayer
培训选项
指示用于训练网络的选项集。这个超参数的可能值是:
“快速”
—实验管理器以0.1的初始学习率对网络进行最多10个纪元的训练。
“慢”
-实验管理器对网络进行最多15个阶段的训练,初始学习率为0.001。
这个设置功能配置实验的训练数据、网络架构和训练选项。检查设置功能,在设置功能,点击编辑.setup函数在MATLAB编辑器中打开。
设置函数的输入是一个结构,其中包含hyperparameter表中的字段。setup函数返回三个输出,用于训练网络解决图像分类问题。设置功能有三个部分。
负荷训练数据从数字数据集中加载图像,并将此数据集拆分为训练集和验证集。对于训练数据,本例创建一个
物体通过应用随机平移和水平反射。验证数据存储在增强图像数据存储
imageDatastore
没有增强的对象。有关此数据集的更多信息,请参见图像数据集.
定义网络架构定义用于深度学习分类的卷积神经网络的体系结构。此示例训练为hyperparameter指定的网络网络
.
指定培训选项定义了一个
实验对象。在本例中,为超参数指定的值trainingOptions
培训选项
确定培训选项“InitialLearnRate”
和“MaxEpochs”
.
请注意,当您设置训练选项时,实验管理器不支持并行执行金宝app“执行环境”
到“multi-gpu”
或“平行”
或者启用培训选项“DispatchInBackground”
. 有关详细信息,请参阅配置内置训练实验.
这个韵律学节指定对实验结果进行评估的可选函数。本示例不包括任何自定义度量函数。
如果您有多个GPU,并行执行通常会提高实验的速度。为了获得最佳结果,在运行实验之前,启动一个并行池,让GPU中的工作线程数量达到GPU的数量。您可以使用gpuDeviceCount
功能:
numGPUs = gpuDeviceCount (“可用”);parpool (numGPUs);
然而,如果你有一个单一的GPU,所有的工作人员共享该GPU,所以你不能获得训练加速,你增加了GPU耗尽内存的机会。为了在单个GPU上训练深度网络时继续使用MATLAB,在并行运行实验之前,先用单个worker启动一个并行池。
使用GPU进行深度学习需要并行计算工具箱和支持的GPU设备。金宝app有关更多信息,请参见GPU支金宝app持情况(并行计算工具箱).
要运行您的实验,请在“实验管理器”工具栏上单击使用并行然后跑. 如果当前没有并行池,实验管理器将使用默认集群配置文件启动一个并行池。然后,实验管理器根据可用的并行工作者数量同时执行多个试验。每个试验使用不同的超参数值组合。
结果表显示了每次试验的准确性和损失。
当实验运行时,您可以通过显示每个试验的训练图来跟踪其进度。选择一个试用版并单击训练区.
实验管理器运行与并行池中工作人员数量相同的同时试验。您实验中的所有其他试验都将排队等待后续评估。当您的试验正在运行时,您可以停止正在运行的试验或取消排队的试验。在进步列,单击要停止或取消的每个试验的红色方框图标。
例如,使用“7层”
仅经过几次迭代,网络就变得未定义。
继续这些试验的培训不会产生任何有用的结果,因此您可以在培训完成之前停止这些试验。实验经理继续进行剩余试验的培训。
要记录停止每次试验的原因,可以添加一个注释。
在结果表中,右键单击验证损失第一次审判的牢房停止了。
选择添加注释.
在注释窗格中,在文本框中输入观察结果。
对第二次停止试验重复上述步骤。
培训完成后,您可以重新运行已停止或取消的试用。在进步列结果表,点击绿色三角形图标进行试验。
或者,要重新运行您取消的所有试验,请在“实验管理器”工具栏中单击重启都取消了.
在实验浏览器窗格中,右键单击项目名称并选择关闭项目. 实验管理器关闭项目中包含的所有实验和结果。
增强图像数据存储
|批处理规范化层
|convolution2dLayer
|maxPooling2dLayer
|雷卢耶
|trainingOptions
|trainNetwork
|gpuDeviceCount
(并行计算工具箱)|帕菲尔
(并行计算工具箱)|帕弗
(并行计算工具箱)|帕尔普
(并行计算工具箱)