主要内容

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

默认情况下,实验管理器每次在一个CPU上运行一个试验。如果您有Parallel Computing Toolbox™,您可以将您的实验配置为同时运行多个测试,或者在多个gpu、集群或云上同时运行单个测试。

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

设置并行环境并启用使用并行选项,然后再进行实验。实验管理器运行尽可能多的同时试验,因为有工人在你的平行池。

如果有多个gpu,并行执行通常会提高实验的速度。然而,如果你有一个单独的GPU,所有的工人都共享那个GPU,所以你不会得到训练速度的提高,你增加了GPU耗尽内存的机会。

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

内置的训练实验:

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

  • 如果你正在使用一个可分区的数据存储,通过设置训练选项启用后台调度DispatchInBackground真正的.有关详细信息,请参见使用数据存储并行训练和后台调度

  • 设置并行环境并禁用使用并行选项,然后再进行实验。

自定义训练实验:

  • 在实验训练函数中,设置并行环境并使用spmd块来定义自定义并行训练循环。有关详细信息,请参见与自定义培训循环并行的培训网络

  • 禁用使用并行选项,然后再进行实验。

提示

要使用MATLAB Online并行运行一个实验,您必须访问一个Cloud Center集群。有关详细信息,请参见在MATLAB在线上使用云中心集群的并行计算工具箱(并行计算工具箱)

建立并行环境

多gpu培训

如果有多个gpu,并行执行通常会提高实验的速度。使用GPU进行深度学习需要并行计算工具箱和支持的GPU设备。万博1manbetx有关详细信息,请参见不同版本万博1manbetx的GPU支持(并行计算工具箱)

  • 对于内置的训练实验,GPU支持是自动的。万博1manbetx默认情况下,这些实验使用GPU(如果有的话)。

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

为了获得最好的结果,在运行您的实验之前,创建一个并行池,其中有与gpu一样多的worker。可用的图形处理器数量可以通过gpuDeviceCount(并行计算工具箱)函数。

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

在集群或云上训练

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

并行进行多个试验

要并行运行实验的多个试验,请在“实验管理器”工具栏上单击使用并行然后运行.如果没有当前的并行池,实验管理器将使用默认的集群配置文件启动一个并行池。

实验管理器运行尽可能多的同时试验,因为有工人在你的平行池。您的实验中的所有其他试验都将排队等待稍后的评估。结果表显示了每次试验的状态和进展。

实验并行运行结果表。

当实验运行时,您可以通过显示每次试验的训练图来跟踪其进程。你还可以停止表现不佳的试验。有关详细信息,请参见停止和重新开始培训

请注意

当您设置训练选项时,实验管理器不支持并行执行多个试验万博1manbetxExecutionEnvironment“multi-gpu”“平行”或者当您启用培训选项时DispatchInBackground.只有当您打算一次进行一个试验时,才使用这些选项来加速您的训练。有关详细信息,请参见在gpu和云上并行扩展深度学习使用数据存储并行训练和后台调度

另请参阅

应用程序

功能

对象

相关的话题