使用实验管理器并行训练网络
默认情况下,实验管理器在单个CPU上一次运行一个实验的试验。如果您有并行计算工具箱™,您可以将实验配置为同时运行多个试验,或者一次在多个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并行服务器™.有关更多信息,请参见云中的深度学习.
另请参阅
应用程序
功能
trainingOptions
|canUseGPU
|gpuDeviceCount
(并行计算工具箱)|parpool
(并行计算工具箱)|spmd
(并行计算工具箱)
对象
gpuArray
(并行计算工具箱)