主要内容

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

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

训练场景 正式建议
同时运行多个试验,每个试验使用一个并行工作程序。

设置并行环境并启用使用并行选项,然后再运行您的实验。“实验管理器”运行的同步试验数量与并行池中的工作人员数量相同。

如果您有多个GPU,并行执行通常会提高实验的速度。但是,如果您只有一个GPU,则所有工作人员都共享该GPU,因此您无法获得训练速度,并且会增加GPU内存不足的可能性。

在多个并行工作线程上一次运行一个测试。

内置培训实验:

  • 在实验设置函数中,设置训练选项ExecutionEnvironment“多gpu”“平行”. 有关详细信息,请参阅在GPU和云中并行扩展深度学习

  • 如果您使用的是可分区数据存储,请通过设置“培训”选项启用后台调度派遣背景真正的. 有关详细信息,请参阅使用数据存储进行并行培训和后台调度

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

定制培训实验:

  • 在“实验培训”功能中,设置并行环境并使用spmd块定义一个自定义并行训练循环。有关更多信息,请参见与自定义训练循环并行的训练网络

  • 禁用使用并行选项,然后再运行您的实验。

提示

要使用MATLAB Online并行运行实验,您必须访问云中心集群。有关详细信息,请参阅在MATLAB联机中使用云中心集群并行计算工具箱(并行计算工具箱)

设置并行环境

在多个GPU上训练

如果您有多个GPU,并行执行通常会提高实验的速度。使用GPU进行深度学习需要并行计算工具箱和受支持的GPU设备。有关详细信息,请参阅金宝appGPU版金宝app本支持(并行计算工具箱)

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

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

为了获得最佳结果,在运行实验之前,请创建一个包含与GPU数量相同的工作线程的并行池。您可以使用gpuDeviceCount(并行计算工具箱)作用

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

集群或云中训练

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

并行进行多个试验

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

实验管理器运行与并行池中工作人员数量相同的同时试验。您实验中的所有其他试验都将排队等待后续评估。结果表显示了每个试验的状态和进度。

并行运行实验结果表。

当实验运行时,您可以通过显示每个试验的训练图来跟踪其进度。你也可以停止那些表现不佳的试验。有关详细信息,请参阅停止并重新开始训练

笔记

设置“训练”选项时,“实验管理器”不支持并行执行多个试验金宝appExecutionEnvironment“多gpu”“平行”或者在启用“培训”选项时派遣背景. 仅当您打算一次进行一次试验时,才可使用这些选项加快训练速度。有关详细信息,请参阅在GPU和云中并行扩展深度学习使用数据存储进行并行培训和后台调度

另见

应用程序

功能

物体

相关的话题