通过在MATLAB中训练神经网络,加速您的深度学习应用程序®深度学习容器,充分利用NVIDIA的高性能设计®gpu。您可以使用web浏览器或通过VNC连接远程访问MATLAB深度学习容器。
MATLAB深度学习容器包含MATLAB和一系列MATLAB工具箱,它们是进行深度学习的理想工具(参见额外的信息)。
本指南帮助您在NVIDIA DGX平台的云中运行MATLAB桌面。MATLAB深度学习容器是一个驻留在NVIDIA GPU云上的Docker容器,它简化了这个过程。该容器可在英伟达GPU云容器注册。
主机DGX系统与Docker和NVIDIA-Docker安装。有关安装说明,请参阅https://docs.nvidia.com/deeplearning/dgx/preparing-containers/index.html#prepare_dgx_system。
NVIDIA GPU云帐户与有效的API密钥。
MATLAB许可对于MATLAB深度学习容器中的产品有效(参见s manbetx 845在NVIDIA GPU云上为MATLAB深度学习容器配置许可(云上的许可)。
拉动容器下载容器图像到主机多克尔,运行容器的机器。你必须拉容器只有一次。
可以复制容器映像释放的pull命令英伟达容器注册。在Tags部分中,找到要运行的容器映像释放。在“拉”列中,单击图标以复制搬运工人拉
命令。该命令的形式如下:
码头工人拉nvcr.io /合作伙伴/ matlab: r2018b
确保的最后一部分拉
命令与您想要使用的MATLAB发行版相匹配。
连接到使用腻子或其他SSH客户端通过SSH泊坞窗主机从您的客户机。在主机上,登录NVIDIA容器注册使用这个命令:
码头工人登录nvcr.io
要使用API密钥进行身份验证,请输入oauthtoken美元
你的用户名。
用户名:$ oauthtoken
密码:[我的NGC API密钥]
粘贴搬运工人拉
命令导入SSH客户机,并在Docker主机上运行该命令。
运行搬运工人拉
命令下载MATLAB容器图像到主机。这可能需要一些时间来下载并解压大型集装箱图像。
使用这个命令运行MATLAB深度学习容器:
nvcr.io/partners/matlab:r2018a -rm - 5901:5901 -p 6080:6080 -shm-size=512M nvcr.io/partners/matlab:r2018a
确保的最后一部分跑
命令与您想要使用的MATLAB发行版相匹配。
选项- p hostport: containerport
将容器内部的端口映射到Docker主机上的端口,以便可以连接到容器桌面。容器中使用的端口为5901
(用于VNC连接)和6080
(用于web浏览器连接)。如果在同一台主机上部署多个容器,则必须增加主机端口,直到找到空闲端口为止。例如:
-p 5902:5901 -p 6081:6080
MATLAB深度学习容器现在在您的DGX机器上运行。
访问容器中的MATLAB有三种方法:
使用web浏览器连接到容器桌面并运行MATLAB桌面
使用VNC连接到容器桌面并运行MATLAB桌面
使用命令行界面运行MATLAB
如果你的主机受防火墙保护,或者无法通过网络浏览器或VNC访问容器的桌面,你可以设置SSH隧道容器(见安全地连接)。
与web浏览器连接使用端口6080
在容器中。要连接,使用的网址:
http://hostname:6080
主机名
例如,运行容器的Docker主机的名称是什么MyCompanyDGX1
。如果增加主机端口运行的容器例如,使用适当的主机端口号6081
。
您将看到noVNC登录屏幕。单击连接。当系统提示您输入密码才能访问桌面,使用密码:
matlab
您可以使用桌面图标运行MATLAB。使用MathWorks登录®帐户。
如果您无法登录使用MathWorks公司的帐户,请检查您的帐户连接到配置为云使用的许可证。欲了解更多信息,请参阅在NVIDIA GPU云上为MATLAB深度学习容器配置许可(云许可)。
与VNC连接使用端口5901
在容器中。VNC连接到映射到容器端口的主机显示5901
;例如,显示1
主机端口5901
。
要连接,使用VNC客户端连接到:
主机名:1
主机名
例如,运行容器的Docker主机的名称是什么MyCompanyDGX1
。如果增加主机端口运行的容器,使用适当的主机显示端口号,例如2
主机端口5902
。
要登录并连接到容器桌面,请使用密码:
matlab
您可以使用桌面图标运行MATLAB。登录使用MathWorks公司帐户。
如果您无法登录使用MathWorks公司的帐户,请检查您的帐户连接到配置为云使用的许可证。欲了解更多信息,请参阅在NVIDIA GPU云上为MATLAB深度学习容器配置许可(云许可)。
您可以从终端使用命令行界面中使用命令运行MATLAB:
matlab
注意,在本例中没有图形桌面。
如果您无法登录使用MathWorks公司的帐户,请检查您的帐户连接到配置为云使用的许可证。欲了解更多信息,请参阅在NVIDIA GPU云上为MATLAB深度学习容器配置许可(云许可)。
可以使用SSH隧道设置客户机机器和容器会话之间的加密通道。这样做提供了客户机和容器之间的安全连接。如果主机或客户机受到防火墙的保护,则必须使用SSH调优。
这些指令通过Docker主机将客户端端口转发到容器端口。在设置SSH隧道之后,客户机端口和容器端口之间的所有通信都是安全的。
如果您使用PuTTY连接到Docker主机,请使用菜单选项Change Settings添加一个新的转发端口,单击标题栏即可访问该端口。在“PuTTY Reconfiguration”对话框的“类别”下,选择Connection > SSH >隧道。
要通过VNC连接,建立一个隧道的集装箱港口5901
。
在Source port字段中,输入客户端机器上的空闲端口5900
, 例如5901
。
在目标字段中输入您连接到集装箱港口相关主机端口5901
在运行的容器例如,localhost: 5901
。请注意,您必须使用本地主机
而不是主机实例的名称。
要通过web浏览器进行连接,需要设置到容器端口的通道6080
。
在源端口字段中,输入客户机上的空闲端口,例如6080
。
在目标字段中输入您连接到集装箱港口相关主机端口6080
在运行的容器例如,本地主机:6080
。请注意,您必须使用本地主机
而不是主机实例的名称。
如果您正在使用多个容器或运行在客户机上VNC服务器,你必须增加在客户机上的源端口,直到找到一个空闲端口,例如,5902
或6081
。
如果你使用命令行界面来SSH隧道到一个容器端口,使用这个表单的命令:
ssh -L客户端:hostport ubuntu@MyCompanyDGX1
clientport
是在客户机上自由港,例如5901
或6080
。HOSTPORT
您连接到容器端口的主机端口是否在运行的容器, 例如localhost: 5901
或本地主机:6080
。请注意,您必须使用本地主机
而不是主机实例的名称。
例如,使用下面的命令:
ssh -L 5901:localhost:5901 ubuntu@MyCompanyDGX1
例如,如果在客户端机器上运行VNC服务器,则必须增加客户端端口,直到找到空闲端口为止5902
或6081
。
现在可以使用转发的客户端端口连接到容器桌面。
要使用web浏览器连接,请使用URL:
http://localhost:6080
请注意,您必须使用本地主机
而不是主机实例的名称。
例如,如果在生成通道时增加了客户端端口,请使用适当的客户端端口号6081
。
要连接VNC,请使用您的VNC客户端连接到客户端的适当显示端口,例如:
本地主机:1
请注意,您必须使用本地主机
而不是主机实例的名称。
如果在生成通道时增加了客户端端口,请使用适当的客户端显示端口号,例如,2
为端口5902
。
要运行MATLAB桌面,请按照说明操作从容器中运行MATLAB。
MATLAB支万博1manbetx持使用多GPU并联训练单个网络。为了能够在MATLAB深度学习集装箱多GPU训练,使用trainingOptions
功能设置“执行环境”
至“multi-gpu”
。
训练你的人际网络trainNetwork
函数。MATLAB在所有可用的gpu上打开一个并行的worker池。要只选择用于培训的特定gpu,可以使用gpuDevice
。有关更多信息,请参见选择特定的GPU用于培训(深度学习工具箱)。
要测试你的容器,可以运行创建简单深层学习网络分类(深度学习工具箱)例子。要尝试此示例,请双击该文件MNISTExample.mlx
在MATLAB启动文件夹中的当前文件夹窗格。要在所有可用的GPU上运行这个例子中,在trainingOptions
功能,设置“执行环境”
至“multi-gpu”
。
您可以访问数据进行深度学习,并在Docker主机上保存经过训练的网络。方法将宿主系统中的文件夹挂载到容器- v
泊坞窗的选择。
例如,假设您在客户端机器上有一个名为的文件夹MyDeepLearningData
。此文件夹包含一个名为的子文件夹MyTrainingData
,其中包含用于训练网络的一组图像。该文件夹还包含子文件夹MyTrainedNetworks
,您希望在其中保存经过训练的网络数据。
下列选项安装源文件夹MyDeepLearningData
及其子文件夹到在容器中的目标文件夹,ContainerDeepLearningData
:
- v / MyCompanyDGX1 / MyDeepLearningData: / ContainerDeepLearningData
将该选项添加到码头工人运行
在命令运行的容器。
现在,您可以在文件夹中访问和保存数据的容器内ContainerDeepLearningData
。保存的数据是在文件夹中的主机可用MyDeepLearningData
。这些文件坚持一旦容器停止。请注意,从容器中修改文件覆盖主机上的文件。
您可以根据需要使用额外的安装尽可能多的文件夹到容器- v
选项。
要更改密码以通过VNC或从web浏览器访问容器中的桌面,可以使用以下选项:
- e密码= MyNewPassword
添加此选项将码头工人运行
在部署容器时发出命令。
如果您的DGX系统通过代理服务器连接到internet,您可以在运行容器时指定代理设置。如果使用MATLAB进行在线许可,则需要指定代理设置以连接MathWorks在线许可服务器。
您可以使用以下方法设置代理地址:主机名:端口
;它的相关域名,shorthostname:端口
;或其IP地址名称IP地址:端口
。使用表格的选项:
- e NGC_PROXY =主机名:端口
添加此选项将码头工人运行
在部署容器时发出命令。
如果您的许可是通过网络许可证管理器给药,可以使用该许可证与MATLAB深度学习容器。您可以指向该许可证的位置码头工人运行
命令。添加的选项:
- e MLM_LICENSE_FILE = 27000 @mylicenseserver
添加此选项将码头工人运行
在部署容器时发出命令。
欲了解更多信息,请参阅在NVIDIA GPU云上为MATLAB深度学习容器配置许可(云许可)。
对于高级用户,可以通过其他Docker选项进一步配置容器部署。有关更多信息,请参见码头工人的文档
要关闭容器会话,输入退出
从集装箱码头。停止并移除Docker容器。容器关闭时,默认情况下不会保存任何进程或数据,除非您通过挂载主机存储在主机中保存了数据,如进出口数据。
NVIDIA GPU云是一个Docker容器库,用于在高性能NVIDIA GPU上运行应用程序。
当您希望在多个不同的位置以可靠的方式运行应用程序或软件时,可以使用容器。容器是一个轻量级包,它包含运行特定应用程序(或一组应用程序)所需的所有东西,包括代码、库、驱动程序和设置。因为容器中的应用程序总是以相同的方式运行,所以它们对于管理定义良好的测试和部署环境非常有用。
与虚拟机不同,容器共享主机的操作系统,同一个容器的多个实例共享公共资源。这使得它们很轻。但是,容器之间以及主机操作系统之间是相互隔离的。也就是说,容器内的应用程序只能访问该容器内提供的文件和进程。
您可以在相同或不同的主机部署在同一容器的多个实例同时测试您的应用程序。为了扩展功能,您可以安装额外的文件,文件夹和容器设备。
MATLAB的深度学习容器包含MATLAB和其他几个工具箱是在深度学习应用。
计算机视觉工具箱™
GPU编码器™
图像处理工具箱™
MATLAB编码器™
深度学习工具箱™
并行计算工具箱™
信号处理工具箱™
统计和机器学习工具箱™
文本分析工具箱™
要在MATLAB深度学习容器中使用gpu进行深度学习,必须持有MATLAB、深度学习工具箱和并行计算工具箱的有效许可证。要访问容器的全部功能,需要对容器中的其他产品有效的许可证。s manbetx 845
如果您没有“深度学习工具箱”或“并行计算工具箱”的有效许可,MATLAB将在启动时显示警告,指示您不能使用这些产品。s manbetx 845
如果您没有MATLAB深度学习容器中其他产品的有效许可,MATLAB会在启动时显示一条消息s manbetx 845,指示您不能使用这些产品。
您可以在获得在MATLAB深度学习容器产品试用许可证s manbetx 845MATLAB试用深学习上的云。
此外,该容器还包含几个预先训练的深度神经网络(深度学习工具箱)。
您可以从TensorFlow™-Keras和Caffe将网络和网络体系结构导入到容器中,可以添加或不添加层权重。您还可以将经过训练的网络转换为开放神经网络交换(ONNX)模型格式。
MATLAB的深度学习容器还包括:
通过在容器中部署此软件,可以避免安装和配置这些产品所需的设置时间。s manbetx 845您可以运行多个容器来同时或在不同的位置培训多个网络,从而获得可重复的结果。
有关技术支持,评论,以及有关万博1manbetxMATLAB深度学习容器,联系人查询cloud-万博1manbetxsupport@mathworks.com
。