使用实验管理器并行训练网络
默认情况下,实验管理器每次在一个CPU上运行一个试验。如果您有Parallel Computing Toolbox™,您可以将您的实验配置为同时运行多个测试,或者在多个gpu、集群或云上同时运行单个测试。
训练的场景 | 建议 |
---|---|
在同一时间运行多个试验,每次试验使用一个并行工作器。 | 设置并行环境并启用使用并行选项,然后再进行实验。实验管理器运行尽可能多的同时试验,因为有工人在你的平行池。 如果有多个gpu,并行执行通常会提高实验的速度。然而,如果你有一个单独的GPU,所有的工人都共享那个GPU,所以你不会得到训练速度的提高,你增加了GPU耗尽内存的机会。 |
在多个并行工作器上一次运行一个试验。 | 内置的训练实验:
|
自定义训练实验:
|
提示
要使用MATLAB Online并行运行一个实验,您必须访问一个Cloud Center集群。有关详细信息,请参见在MATLAB在线上使用云中心集群的并行计算工具箱(并行计算工具箱).
建立并行环境
多gpu培训
如果有多个gpu,并行执行通常会提高实验的速度。使用GPU进行深度学习需要并行计算工具箱和支持的GPU设备。金宝app有关详细信息,请参见不同版本金宝app的GPU支持(并行计算工具箱).
对于内置的训练实验,GPU支持是自动的。金宝app默认情况下,这些实验使用GPU(如果有的话)。
对于自定义训练实验,默认情况下在CPU上进行计算。在GPU上训练,将你的数据转换为
gpuArray
对象。要确定可用的GPU是否可用,请调用canUseGPU
函数。
为了获得最好的结果,在运行您的实验之前,创建一个并行池,其中有与gpu一样多的worker。可用的图形处理器数量可以通过gpuDeviceCount
(并行计算工具箱)函数。
numGPUs = gpuDeviceCount (“可用”);parpool (numGPUs)
在集群或云上训练
如果您的实验需要在本地机器上运行很长时间,您可以通过在现场网络上使用计算机集群或租用云中的高性能gpu来加速训练。完成初始设置后,只需对代码进行最小的修改就可以运行实验。在集群或云中工作需要MATLAB®并行服务器™.有关详细信息,请参见云中的深度学习.
并行进行多个试验
要并行运行实验的多个试验,请在“实验管理器”工具栏上单击使用并行然后运行.如果没有当前的并行池,实验管理器将使用默认的集群配置文件启动一个并行池。
实验管理器运行尽可能多的同时试验,因为有工人在你的平行池。您的实验中的所有其他试验都将排队等待稍后的评估。结果表显示了每次试验的状态和进展。
当实验运行时,您可以通过显示每次试验的训练图来跟踪其进程。你还可以停止表现不佳的试验。有关详细信息,请参见停止和重新开始培训.
请注意
当您设置训练选项时,实验管理器不支持并行执行多个试验金宝appExecutionEnvironment
来“multi-gpu”
或“平行”
或者当您启用培训选项时DispatchInBackground
.只有当您打算一次进行一个试验时,才使用这些选项来加速您的训练。有关详细信息,请参见在gpu和云上并行扩展深度学习和使用数据存储并行训练和后台调度.
另请参阅
应用程序
功能
trainingOptions
|canUseGPU
|gpuDeviceCount
(并行计算工具箱)|parpool
(并行计算工具箱)|spmd
(并行计算工具箱)
对象
gpuArray
(并行计算工具箱)