神经网络是本质为并行的算法。您可以通过使用并行计算工具箱™分布跨越多核CPU,图形处理单元(GPU),并与多个CPU和GPU的计算机集群培训采取这种并行的优势。
深培训网络是极其计算密集和你通常可以通过使用高性能GPU加速的培训。如果你没有合适的GPU,可以在一个或多个CPU内核,而不是训练,还是在云中的GPU租金。可以在单个GPU或CPU训练卷积神经网络,或多个GPU或CPU核心,或在集群上平行。使用GPU或任何并行选项需要并行计算工具箱。
如果您想使用更多的资源,你可以扩展深度学习培训到云中。
培训资源 | 设置 | 学到更多 |
---|---|---|
本地机器上的单GPU |
自动。默认情况下, |
|
本地机器上的多GPU |
指定 |
|
本地机器上的多个CPU内核 |
指定 在默认设置下, |
|
集群或在云中 |
设置一个默认的簇后,指定 在集群上执行训练,并返回内置的进步阴谋当地MATLAB®。 |
培训方案 | 建议 | 学到更多 |
---|---|---|
交互方式在本地计算机或云 | 用一个PARFOR 循环训练多个网络,并利用积结果OutputFcn 。默认情况下在本地运行,或选择不同的群集配置文件。 |
使用PARFOR到列车多深学习网络 |
在你的本地计算机上或在云后台 | 采用parfeval 不会阻塞您当地的MATLAB训练,并利用积结果OutputFcn 。默认情况下在本地运行,或选择不同的群集配置文件。 |
|
在集群中,并关闭本地计算机 | 使用批量 函数发送训练码到集群。您可以关闭MATLAB后来取结果。 |
发送深度学习批处理作业到集群 |
如果你的深度学习培训需要数小时或数天,您可以在云中租用高性能的GPU加速训练。在云中工作需要一些初始设置,但使用云可以减少培训时间,或者让你在同一时间培养更多的网络初始设置后。要尝试在云深度学习,你可以按照例如步骤设置你的账户,你的数据复制到云中,并创建一个集群。该初始设置后,就可以运行最小的变化你的训练代码在云中运行。设置默认群集后,只需指定培训选项“执行环境”,“平行”
训练在多GPU的云团在网络上。
配置深度学习在云 | 笔记 | 学到更多 |
---|---|---|
建立MathWorks的云计算中心以及亚马逊账户 | 一次性设置。 | 开始使用云计算中心 |
创建群集 | 使用云中心建立和运行在亚马逊云计算集群。对于深度学习,选择一种类型机床的GPU,如P2或G3实例。 | 创建一个云团 |
数据上传到云 | 为了在云中的数据的工作,上传到Amazon S3。使用数据存储从您的桌面客户端访问MATLAB在S3中的数据,或从群集的工人,在不改变你的代码。 | 上传深入学习数据到云 |
如果使用的是与机器之间的快速互连设备,如Infiniband,或在不同的机器,如GPUDirect RDMA GPU之间快速互连一个Linux计算集群,你也许可以利用快速的多节点支持MATLAB。万博1manbetx通过设置环境变量启用池中万博1manbetx的所有工人这种支持PARALLEL_SERVER_FAST_MULTINODE_GPU_COMMUNICATION
至1
。设置在群集配置文件管理器这个环境变量。
此功能是NVIDIA NCCL库GPU通信的一部分。要对其进行配置,则必须设置额外的环境变量定义网络接口协议,尤其是NCCL_SOCKET_IFNAME
。欲了解更多信息,请参阅NCCL文档并且特别是在部NCCL旋钮。