使用实验管理器并行训练网络
默认情况下,实验管理器在单个CPU上一次运行一个试验。如果您有并行计算工具箱™,您可以将实验配置为同时运行多个试验,或者在多个gpu、集群或云中一次运行单个试验。
训练的场景 | 建议 |
---|---|
同时运行多个试验,每个试验使用一个并行工作器。 | 设置并行环境,设置模式来 或者,要将实验卸载为批处理作业,请设置模式来 实验管理器不支持金宝app |
在多个并行工作上一次运行一个试验。 | 内置训练实验: 在实验设置功能中,设置训练选项 如果使用可分区的数据存储,可以通过设置培训选项启用后台调度 设置并行环境,设置模式来 或者,要将实验卸载为批处理作业,请设置模式来 |
定制训练实验: 在实验训练功能中,设置您的并行环境并使用 集模式来 或者,要将实验卸载为批处理作业,请设置模式来 |
在内置的训练实验中,结果表显示每个试验是在单个CPU、单个GPU、多个CPU或多个GPU上运行。若要显示此信息,请单击“显示或隐藏列”按钮位于结果表上方并选择执行环境.
提示
用并行方法进行实验MATLAB®在线™,您必须能够访问Cloud Center集群。有关更多信息,请参见使用并行计算工具箱与云中心集群在MATLAB在线(并行计算工具箱).
设置并行环境
多gpu训练
如果你有多个gpu,并行执行通常会提高实验的速度。使用GPU进行深度学习需要并行计算工具箱和支持的GPU设备。金宝app有关更多信息,请参见GPU计算要求(并行计算工具箱).
对于内置的训练实验,GPU支持是自动的。金宝app默认情况下,这些实验使用可用的GPU。
对于自定义训练实验,默认情况下计算发生在CPU上。要在GPU上训练,请将数据转换为
gpuArray
对象。若要确定可用的GPU是否可用,请调用canUseGPU
函数。
为了获得最佳结果,在运行实验之前,创建一个具有与gpu数量相同的worker的并行池。可用图形处理器的个数可以通过gpuDeviceCount
(并行计算工具箱)函数。
numgpu = gpuDeviceCount(“可用”);parpool (numGPUs)
请注意
如果你在一个GPU上创建一个并行池,那么所有的工作人员都共享这个GPU,这样你就不会得到训练速度的提升,而且还会增加GPU内存不足的几率。
在集群或云上训练
如果您的实验需要很长时间才能在本地机器上运行,您可以通过使用现场网络中的计算机集群或在云中租用高性能gpu来加速训练。在完成初始设置后,可以在对代码进行最小更改的情况下运行实验。在集群或云中工作需要MATLAB并行服务器.有关更多信息,请参见云中的深度学习.
另请参阅
应用程序
功能
trainingOptions
|canUseGPU
|gpuDeviceCount
(并行计算工具箱)|parpool
(并行计算工具箱)|spmd
(并行计算工具箱)
对象
gpuArray
(并行计算工具箱)