这个例子显示了如何发送深学习培训批处理作业到集群,这样就可以继续训练在工作或关闭MATLAB。
训练深层神经网络通常需要数小时或数天。为了有效地利用时间,你可以训练神经网络作为批处理作业,当他们准备取从集群的结果。您可以继续在MATLAB工作时计算发生或接近MATLAB并获得在以后使用作业监视器的结果。本实施例中发送的并行参数扫描使用PARFOR到列车多深学习网络作为批处理作业。这项工作完成后,你可以获取的培训网络,并比较它们的精度。
在可以运行这个例子,你需要配置群集和上传数据到云。在MATLAB中,你可以创建直接从MATLAB桌面的云团。在家选项卡,在平行菜单中选择创建和管理集群。在群集配置文件管理器,单击创建云团。另外,您也可以使用MathWorks的云计算中心来创建和访问计算集群。欲了解更多信息,请参阅开始使用云计算中心。在这个例子中,请确保您的群集被设置为默认的MATLAB家选项卡,在平行>选择一个默认的集群。在此之后,上传数据到Amazon S3的桶和直接使用它从MATLAB。本示例使用已经存储在亚马逊S3的CIFAR-10的数据集的副本。有关说明,请参阅上传深入学习数据到云。
通过发送脚本作为批处理作业到集群批量
功能。群集分配一个工人来执行你的脚本的内容。如果从更多的工人脚本效益并行代码,例如,它包括自动并行支持或PARFOR循环,你需要明确地要求工人。金宝app批量
使用一个工人来运行该脚本的客户端。您可以通过使用“池”的名字 - 值对参数中指定更多的工人。
在这种情况下,发trainMultipleNetworks
脚本集群。此脚本包含在并行参数扫描使用PARFOR到列车多深学习网络。因为脚本包含PARFOR
环路,指定4
更多的工人与池
名称 - 值对的参数。
totalNumberOfWorkers = 5;JOB1 =批次('trainMultipleNetworks',...“池”,totalNumberOfWorkers-1);
您可以通过检查作业监视器看到集群中作业的当前状态。在里面环境上一节家选项卡,选中平行>监视作业打开作业监视器。
您可以提交其他作业到集群。如果群集,因为它正在运行其他作业不可用,您提交遗骸的新作业排队,直到集群变为可用。
提交作业到群集后,您可以继续在MATLAB工作时的计算发生。如果你的代码的其余部分取决于工作的完成,阻断MATLAB使用等待
命令。在这种情况下,等待作业完成。
等待(JOB1);
在作业结束后,通过获取结果加载
功能。在这种情况下,从提交的脚本,它们的精度并行参数扫描获取的培训网络。
负载(JOB1,“精度”);精度
精度=4×10.8312 0.8276 0.8288 0.8258
负载(JOB1,'trainedNetworks');trainedNetworks
trainedNetworks =4×1单元阵列{1×1 SeriesNetwork} {1×1 SeriesNetwork} {1×1 SeriesNetwork} {1×1 SeriesNetwork}
要加载所有的变量在批处理作业,使用加载
功能不带参数。
加载(JOB1);
如果你关闭MATLAB,你仍然可以恢复工作的集群中,同时计算正在发生或之后计算完成要么获取结果。关闭MATLAB之前,请记下作业ID,然后通过以后检索工作找工作
功能。
要检索工作,首先通过使用创建群集群集对象parcluster
功能。然后,提供业ID找工作
。在这种情况下,作业ID是1
。
C = parcluster('MyClusterInTheCloud');作业= findJob(C,'ID',1);
当您完成删除工作。该作业从作业监视器中删除。
删除(JOB1);
当您提交批处理作业,所有的计算发生在集群中,你可以安全关闭MATLAB。您可以通过在另一个MATLAB会话中使用作业监视器检查作业的状态。
当工作完成后,你可以从作业监视器的结果。在里面环境上一节家选项卡,选中平行>监视作业打开作业监视器。然后右键单击作业以显示上下文菜单。在此菜单中,您可以:
加载作业分成通过单击工作区显示详细资料
加载所有变量中通过单击工作加载变量
删除作业时被点击完成删除