通过在MATLAB中训练神经网络,加快深度学习应用程序®深度学习容器,设计充分利用高性能NVIDIA®GPU。您可以使用web浏览器或通过VNC连接远程访问MATLAB深度学习容器。
MATLAB深度学习容器包含MATLAB和一系列MATLAB工具箱,对深度学习是理想的(参见额外的信息).
本指南帮助您在NVIDIA DGX平台的云中运行MATLAB桌面。MATLAB深度学习容器,一个托管在NVIDIA GPU云上的Docker容器,简化了这个过程。这个集装箱在英伟达GPU云容器注册.
安装Docker和NVIDIA Docker的DGX系统主机。有关如何配置DGX系统的更多信息,请参见https://docs.nvidia.com/deeplearning/dgx/preparing-containers/index.html#prepare_dgx_system.
对MATLAB深度学习容器中的产品有效的MATLAB许可证。下载188bet金宝搏
拉出容器将容器映像下载到Docker主机上,也就是运行容器的机器。你只需要拉一次容器。
控件中可以复制容器映像发布的pull命令英伟达容器注册表.在Tags部分中,找到您想要运行的容器映像版本。在“拉”列中,单击图标以复制码头工人拉
命令该命令的形式如下:
码头工人拉nvcr.io /合作伙伴/ matlab: r20XYz
r20XYz
必须用特定的MATLAB版本名称替换,例如r2020a
.确保最后一部分拉
命令与要使用的MATLAB版本相匹配。
使用PuTTY或其他SSH客户端从客户端机器通过SSH连接到Docker主机。粘贴码头工人拉
命令导入SSH客户端,并在Docker主机上运行该命令。您不需要登录到NVIDIA容器注册表来拉出容器映像。
运行码头工人拉
命令将MATLAB容器映像下载到主机上。下载和提取大型容器映像可能需要一些时间。
使用以下命令运行MATLAB深度学习容器:
nvidia-docker运行-it——rm -p 5901:5901 -p 6080:6080——shm-size=512M nvcr.io/partners/matlab:r20XYz
确保最后一部分运行
命令与要使用的MATLAB版本相匹配。
的选项-p主机端口:containerport
将容器内的端口映射到Docker主机上的端口,以便您可以连接到容器桌面。容器中使用的端口包括5901
(用于VNC连接)和6080
(用于web浏览器连接)。如果要在同一台主机上部署多个容器,则必须增加主机端口数,直到找到可用端口为止。例如:
-p 5902:5901 -p 6081:6080
MATLAB深度学习容器现在正在您的DGX机器上运行。
在容器中有三种访问MATLAB的方法:
使用web浏览器连接到容器桌面,运行MATLAB桌面
使用VNC连接到容器桌面,运行MATLAB桌面
使用命令行界面运行MATLAB
如果您的主机受到防火墙的保护,或者您不能通过web浏览器或VNC访问容器桌面,您可以设置到容器的SSH隧道(参见安全地连接).
使用端口连接浏览器6080
在容器中。要连接,使用URL:
http://hostname:6080
主机名
例如,运行容器的Docker主机的名称MyCompanyDGX1
.如果增加了主机端口运行的容器,使用适当的主机端口号,例如6081
.
您将看到noVNC的登录屏幕。单击连接。当系统提示您输入密码时,请使用密码:
matlab
你可以使用桌面图标运行MATLAB。使用MathWorks登录®账户
如果无法使用MathWorks帐户登录,请检查您的帐户是否连接到配置为云使用的许可证。查看,访问授权中心.
VNC连接使用端口5901
在容器中。VNC连接到映射到容器端口的主机端口的主机显示器5901
;例如,显示1
主机端口5901
.
要连接,请使用VNC客户端连接到:
主机名:1
主机名
例如,运行容器的Docker主机的名称MyCompanyDGX1
.如果增加了主机端口运行的容器,例如,使用适当的主机显示端口号2
主机端口5902
.
登录并连接到容器桌面,使用密码:
matlab
你可以使用桌面图标运行MATLAB。使用您的MathWorks帐户登录。
如果无法使用MathWorks帐户登录,请检查您的帐户是否连接到配置为云使用的许可证。查看,访问授权中心.
你可以使用命令行界面从终端运行MATLAB:
matlab
注意,在本例中没有图形桌面。
如果无法使用MathWorks帐户登录,请检查您的帐户是否连接到配置为云使用的许可证。查看,访问授权中心.
可以使用SSH隧道在客户机机器和容器会话之间建立加密通道。这样做可以在客户机和容器之间提供一个安全的连接。如果主机或客户端计算机受到防火墙的保护,则必须使用SSH隧道。
这些说明通过Docker主机将客户端端口转发到容器端口。设置SSH隧道后,客户端端口和容器端口之间的所有通信都是安全的。
如果使用PuTTY连接到Docker主机,请使用菜单选项“更改设置”添加新的转发端口,可通过单击标题栏访问。在PuTTY重新配置对话框的“类别”下,选择“连接>SSH>隧道”。
要通过VNC连接,请设置一条到集装箱端口的隧道5901
.
在Source port(源端口)字段中,输入客户端计算机上的空闲端口,从5900
例如,5901
.
在“Destination”字段中输入与容器端口连接的相关主机端口5901
在运行的容器例如localhost: 5901
.注意必须使用本地服务器
而不是主机实例的名称。
要通过网络浏览器连接,需要建立一条到集装箱港口的隧道6080
.
例如,在Source端口字段中,输入客户机机器上的空闲端口6080
.
在“Destination”字段中输入与容器端口连接的相关主机端口6080
在运行的容器例如localhost: 6080
.注意必须使用本地服务器
而不是主机实例的名称。
如果在客户端机器上使用多个容器或运行VNC服务器,则必须增加客户端机器上的源端口,直到找到空闲端口为止,例如,5902
或6081
.
如果使用命令行界面将SSH隧道连接到容器端口,请使用以下形式的命令:
ssh -L clientport:hostport ubuntu@MyCompanyDGX1
客户端端口
例如,客户端机器上是否有空闲端口5901
或6080
.hostport
是您连接到中的容器端口的主机端口运行的容器例如,localhost: 5901
或localhost: 6080
.注意必须使用本地服务器
而不是主机实例的名称。
例如,使用如下命令:
ssh -L 5901:localhost:5901 ubuntu@MyCompanyDGX1
例如,如果您在客户机上运行VNC服务器,则必须增加客户机端口,直到找到空闲端口为止5902
或6081
.
现在可以使用转发的客户端端口连接到容器桌面。
要使用web浏览器进行连接,请使用URL:
http://localhost:6080
注意必须使用本地服务器
而不是主机实例的名称。
例如,如果在创建隧道时增加了客户端端口,请使用适当的客户端端口号6081
.
要连接VNC,请使用VNC客户端连接到客户端相应的显示端口,例如:
localhost: 1
注意必须使用本地服务器
而不是主机实例的名称。
如果在创建隧道时增加了客户端端口,请使用适当的客户端显示端口号,例如:2
为端口5902
.
要运行MATLAB桌面,请遵循从容器中运行MATLAB.
MATLAB支金宝app持使用多个gpu并行训练单个网络。要在MATLAB深度学习容器中启用多gpu训练,请使用trainingOptions
函数设置“ExecutionEnvironment”
来“多gpu”
.
训练你的网络使用trainNetwork
函数。MATLAB在所有可用的gpu上打开一个并行工作池。要只选择特定的图形处理器用于培训,您可以使用gpuDevice
.有关更多信息,请参见选择用于培训的特定图形处理器(深度学习工具箱).
要测试容器,可以运行创建简单的深度学习网络分类(深度学习工具箱)实例要尝试此示例,请双击该文件MNISTExample.mlx
在MATLAB启动文件夹的当前文件夹窗格中。要在所有可用的gpu上运行此示例,请在trainingOptions
函数,设置“ExecutionEnvironment”
来“多gpu”
.
您可以在Docker主机上访问用于深度学习的数据,并保存训练有素的网络。使用。挂载工具将主机系统中的文件夹挂载到容器- v
码头工人的选择。
例如,假设客户机上有一个名为MyDeepLearningData
.此文件夹包含名为MyTrainingData
,其中包含用于训练网络的一组图像。该文件夹还包含子文件夹MyTrainedNetworks
,您要在其中保存经过培训的网络数据。
下面的选项挂载源文件夹MyDeepLearningData
和它的子文件夹到容器中的目标文件夹,ContainerDeepLearningData
:
- v / MyCompanyDGX1 / MyDeepLearningData: / ContainerDeepLearningData
将选项添加到码头工人运行
命令在运行的容器.
现在可以在文件夹中的容器中访问和保存数据ContainerDeepLearningData
.该文件夹下的主机中存在已保存的数据MyDeepLearningData
.一旦容器停止,这些文件就会持久化。注意,在容器内修改文件会覆盖主机上的文件。
您可以使用附加文件将任意多的文件夹挂载到容器中- v
选项。
要更改通过VNC或web浏览器访问容器中桌面的密码,可以使用以下选项:
- e密码= MyNewPassword
将此选项添加到码头工人运行
命令。
如果DGX系统通过代理服务器连接到internet,则可以在运行容器时指定代理设置。如果将MATLAB与联机授权一起使用,则需要指定代理设置以连接到MathWorks联机授权服务器。
使用表单的一个选项:
-e NGC_PROXY=<代理服务器地址>
将此选项添加到码头工人运行
命令。
您可以使用下列任何形式指定代理服务器地址:
主机名:12345
shorthostname: 12345
http://hostname:12345
http://username:password@hostname:12345
IPaddress: 12345
在哪里主机名
是完全限定域名,shorthostname
是相对域名,和12345
是端口号。
如果您的许可证是通过网络许可证管理器管理的,那么您可以将此许可证与MATLAB深度学习容器一起使用。您可以在码头工人运行
命令。添加的选项:
- e MLM_LICENSE_FILE = 27000 @mylicenseserver
将此选项添加到码头工人运行
命令。
有关详细信息,请参阅基于NVIDIA GPU云的MATLAB深度学习容器.
对于高级用户,可以通过其他Docker选项进一步配置容器部署。有关更多信息,请参见Docker文档
要关闭容器会话,请键入退出
从集装箱码头。停止并移除Docker容器。当容器关闭时,默认不会保存进程或数据,除非您通过挂载主机存储将数据保存在主机上,具体步骤请参见导入和导出数据.
您可以安装最新的MATLAB更新或安装额外的工具箱和附加组件。然后,您可以保存容器以便以后使用,以避免重新安装更改。
要安装或更新MATLAB,必须使用超级用户权限运行MATLAB。在容器会话中的终端上,使用下面的命令以root权限启动MATLAB。
sudo matlab
您可以从MATLAB中安装更新和工具箱。有关如何安装更新的信息,请参见更新现有安装(MATLAB).有关如何安装工具箱和附加组件的信息,请参见获取和管理附加组件(MATLAB).
如果您在容器中进行更改,例如安装更新、附加工具箱或附加组件,则可以保存容器以供以后使用。然后,您可以部署容器的更新版本,而不需要再次安装更新或工具箱。
在容器中进行更改之后并在容器仍在运行时执行这些步骤。
在您的客户端机器上,使用PuTTY或与访问Docker主机并启动容器相同的方法,打开与Docker主机(运行容器的机器)的另一个连接。
使用如下命令获取当前运行的容器的容器ID。
码头工人ps
要保存容器,请使用码头工人承诺
命令。
docker提交:
码头工人承诺
命令根据指定的容器ID在本地保存一个新的容器映像;在本例中,基于当前运行的容器。属性可以查看本地可用的映像docker图像
命令。
例如,假设你在MATLAB深度学习容器中使用MATLAB R2020a。您已经更新了当前运行的容器中的MATLAB,并希望保存它以供以后使用。
首先,找到正在运行的容器的容器ID。
码头工人ps
容器ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3d555451f07a nvcr. txt/bin/run.sh /bin/run.sh /bin/run.sh
接下来,提交容器映像。
Docker提交3d555451f07a mymatlab:r2020a
码头工人运行
命令。
nvidia-docker运行它——rm -p 5901:5901 -p 6080:6080——shm-size=512M mymatlab:r2020a
NVIDIA GPU Cloud是一个容器的Docker存储库,设计用于在高性能NVIDIA GPU上运行应用程序。
当您希望在多个不同的位置可靠地运行应用程序或软件时,可以使用容器。容器是一个轻量级包,包含运行特定应用程序(或一组应用程序)所需的所有内容,包括代码、库、驱动程序和设置。因为容器中的应用程序总是以相同的方式运行,所以它们对于管理定义良好的测试和部署环境非常有用。
与虚拟机不同,容器共享主机的操作系统,同一容器的多个实例共享公共资源。这使得它们很轻。但是,容器彼此和主机操作系统是隔离的。也就是说,容器中的应用程序只能访问该容器中提供的文件和进程。
您可以在相同或不同的主机上部署相同容器的多个实例,以同时测试应用程序。要扩展功能,可以将额外的文件、文件夹和设备挂载到容器中。
MATLAB深度学习容器包含MATLAB和其他几个工具箱,在深度学习应用程序中是有用的。
计算机视觉工具箱™
GPU编码器™
图像处理工具箱™
MATLAB编码器™
深度学习工具箱™
并行计算工具箱™
讯号处理工具箱™
统计和机器学习工具箱™
文本分析工具箱™
要在MATLAB深度学习容器中使用GPU执行深度学习,您必须拥有MATLAB、深度学习工具箱和并行计算工具箱的有效许可证。访问容器的全部功能需要容器中其他产品的有效许可证。下载188bet金宝搏
如果您没有深度学习工具箱或并行计算工具箱的有效许可证,MATLAB会在启动时显示一个警告,指示您不能使用这些产品。下载188bet金宝搏
如果您没有MATLAB深度学习容器中其他产品的有效许可证,MATLAB在启动时显示一条消息下载188bet金宝搏,指示您不能使用这些产品。
您可以通过以下链接获得MATLAB深度学习容器中的产品的试用许可证下载188bet金宝搏云上深度学习的MATLAB试验.
此外,该容器还包含几个预先训练的深度神经网络(深度学习工具箱).
您可以从TensorFlow™-Keras和Caffe将网络和网络架构导入到容器中,无论是否使用层权重。您还可以将训练有素的网络转换为开放神经网络交换(ONNX)模型格式。
MATLAB深度学习容器还包含:
通过在容器中部署该软件,您可以避免安装和配置这些产品所需的设置时间。下载188bet金宝搏您可以运行多个容器,一次或在不同的地点培训多个网络,并取得可重复的结果。
有关MATLAB深度学习容器金宝app的技术支持、注释和查询,请联系cloud-金宝appsupport@mathworks.com
.