主要内容

使用实验管理器并行训练网络

默认情况下,实验管理器在单个CPU上一次运行一个实验的试验。如果您有并行计算工具箱™,您可以将实验配置为同时运行多个试验,或者一次在多个gpu、集群或云中运行单个试验。

训练的场景 建议
同时运行多个测试,每个测试使用一个并行工作器。

设置并行环境,设置模式同时,然后单击运行.实验管理器运行与并行池中工作人员数量相同的同步测试。您的实验中的所有其他试验都将排队等待稍后的评估。

或者,要将实验卸载为批处理作业,请设置模式批处理同时,指定你集群而且池大小,然后单击运行.有关更多信息,请参见将实验作为批处理作业卸载到集群

实验管理器不支持同时批处理同时当您设置培训选项时执行ExecutionEnvironment“multi-gpu”“平行”或者当您启用培训选项时DispatchInBackground.只有当您打算一次进行一个试验时,才可以使用这些选项来加速您的训练。

一次在多个并行工作机上运行一个试验。

内置的训练实验:

在实验设置功能中,设置训练选项ExecutionEnvironment“multi-gpu”“平行”.有关更多信息,请参见在并行、gpu和云上扩展深度学习

如果使用可分区的数据存储,可以通过设置培训选项来启用后台调度DispatchInBackground真正的.有关更多信息,请参见使用数据存储进行并行训练和后台调度

设置并行环境,设置模式顺序,然后单击运行

或者,要将实验卸载为批处理作业,请设置模式批处理顺序,指定你集群而且池大小,然后单击运行.当您设置训练选项时,实验管理器不支持此执行模式ExecutionEnvironment“multi-gpu”.有关更多信息,请参见将实验作为批处理作业卸载到集群

自定义训练实验:

在实验训练函数中,设置并行环境并使用spmd块来定义一个自定义并行训练循环。有关更多信息,请参见在实验管理器中使用多gpu自定义训练

模式顺序并点击运行

或者,要将实验卸载为批处理作业,请设置模式批处理顺序,指定你集群而且池大小,然后单击运行.有关更多信息,请参见将实验作为批处理作业卸载到集群

在内置的训练实验中,结果表显示每次实验是在单CPU、单GPU、多CPU还是多GPU上运行。要显示此信息,请单击“显示或隐藏列”按钮位于结果表上方并选择执行环境

提示

在平行使用中进行实验MATLAB®在线™,您必须能够访问Cloud Center集群。有关更多信息,请参见在MATLAB在线中使用云中心集群并行计算工具箱(并行计算工具箱)

建立并行环境

多gpu训练

如果你有多个gpu,并行执行通常会提高你的实验速度。使用GPU进行深度学习需要“并行计算工具箱”和支持的GPU设备。有关更多信息,请参见GPU计算的需求(并行计算工具箱)

  • 对于内置的训练实验,GPU支持是自动的。默认情况下,这些实验使用可用的GPU。

  • 对于自定义训练实验,默认情况下计算发生在CPU上。在GPU上训练时,将数据转换为gpuArray对象。要确定可用的GPU是否可用,请调用canUseGPU函数。

为了获得最佳结果,在运行实验之前,创建一个具有与gpu一样多的工作线程的并行池。可用gpu的数量可以通过gpuDeviceCount(并行计算工具箱)函数。

numGPUs = gpuDeviceCount (“可用”);parpool (numGPUs)

请注意

如果你在一个GPU上创建一个并行池,所有的工作人员都会共享那个GPU,所以你不会得到训练的加速,你会增加GPU耗尽内存的几率。

在集群或云上训练

如果您的实验在本地机器上运行需要很长时间,您可以通过使用现场网络上的计算机集群或租用云中的高性能gpu来加速训练。在您完成初始设置之后,您可以在对代码进行最小更改的情况下运行您的实验。在集群或云中工作需要MATLAB并行服务器™.有关更多信息,请参见云中的深度学习

另请参阅

应用程序

功能

对象

相关的话题

Baidu
map