主要内容

将深度学习批处理作业发送到群集

此示例演示如何将深度学习培训批处理作业发送到集群,以便您可以在培训期间继续工作或关闭MATLAB。

训练深度神经网络通常需要数小时或数天。为了有效地利用时间,您可以将神经网络训练为批处理作业,并在它们准备就绪时从集群中获取结果。您可以在计算过程中继续在MATLAB中工作,或关闭MATLAB,稍后使用作业监视器获得结果。此示例发送并行命令l参数扫描使用parfor培训多个深度学习网络作为批处理作业。作业完成后,您可以获取经过训练的网络并比较其精度。

要求

在运行此示例之前,您需要配置集群并将数据上载到云。在MATLAB中,您可以直接从MATLAB桌面在云中创建集群。上选项卡,在平行的菜单,选择创建和管理集群。在群集配置文件管理器中,单击创建云集群. 或者,您可以使用MathWorks云中心创建和访问计算集群。有关详细信息,请参阅云中心入门. 对于本例,请确保在MATLAB上将集群设置为默认值标签,在平行的>选择一个默认集群。然后,将数据上载到Amazon S3存储桶,并直接从MATLAB使用。此示例使用已存储在Amazon S3中的CIFAR-10数据集副本。有关说明,请参阅将深度学习数据上传到云端.

提交批处理作业

使用将脚本作为批处理作业发送到集群一批功能。集群分配一个工作线程来执行脚本的内容。如果脚本中的并行代码受益于额外的工作线程,例如,它包括自动并行支持或parfor循环,则需要显式请求工作线程。万博1manbetx一批对运行脚本的客户端使用一个辅助程序。通过使用“Pool”名称-值对参数,可以指定更多的worker。

在这种情况下,请发送列车网络将脚本添加到集群。此脚本包含并行参数sweep-in使用parfor培训多个深度学习网络。因为脚本包含帕弗循环,指定4.额外的工人水塘名称-值对参数。

工人总数=5人;job1=批处理(“列车多网络工程”,...“游泳池”,总工人人数(1人);

通过检查作业监视器,可以查看集群中作业的当前状态。在环境关于选项卡,选择平行的>监视作业打开作业监视器。

您可以向集群提交其他作业。如果群集因运行其他作业而不可用,则在群集可用之前,您提交的任何新作业都将保持排队状态。

以编程方式获取结果

将作业提交到集群后,您可以在计算过程中继续在MATLAB中工作。如果其余代码取决于作业的完成情况,请使用等待在这种情况下,等待作业完成。

等待(job1);

作业完成后,使用负载在这种情况下,从提交的脚本中的并行参数扫描中获取经过训练的网络及其精度。

加载(作业1,“精确性”); 准确度
准确度=4×10.8312 0.8276 0.8288 0.8258
加载(作业1,“培训网络”); 培训网络
培训网络=4×1单元阵列{1×1系列网络}{1×1系列网络}{1×1系列网络}{1×1系列网络}

要加载批处理作业中的所有变量,请使用负载函数没有参数。

负荷(作业1);

如果关闭MATLAB,您仍然可以在计算进行时或计算完成后恢复群集中的作业以获取结果。关闭MATLAB之前,记下作业ID,然后使用芬乔布作用

要检索作业,请首先使用帕Cluster然后,将作业ID提供给芬乔布。在本例中,作业ID为1..

c=聚合(“MyClusterInTheCloud”); job=findJob(c,“身份证”,1);

完成后删除作业。该作业将从作业监视器中删除。

删除(job1);

使用作业监视器获取结果

提交批处理作业时,所有计算都在集群中进行,您可以安全地关闭MATLAB。您可以在另一个MATLAB会话中使用作业监视器检查作业的状态。

作业完成后,您可以从作业监视器检索结果环境关于选项卡,选择平行的>监视作业打开作业监视器。然后右键单击作业以显示关联菜单。在此菜单中,您可以:

  • 通过单击将作业加载到工作区中显示细节

  • 单击以加载作业中的所有变量负载变量

  • 单击完成后删除作业删去

另见

(并行计算工具箱)

相关实例

更多关于