MATLAB深度学习容器NVIDIAGPU的云NVIDIADGX

通过在MATLAB训练神经网络,加快你的深度学习应用程序®深度学习容器,设计充分利用高性能NVIDIA®图形处理器。您可以远程使用Web浏览器或通过VNC连接访问MATLAB深度学习容器。

MATLAB深度学习容器包含MATLAB和一系列MATLAB工具箱,这些工具箱是深度学习的理想工具(参见额外的信息)。

本指南帮助您在NVIDIA DGX平台云中运行的MATLAB桌面。MATLAB的深度学习容器,托管在NVIDIA GPU云泊坞窗容器,简化了流程。该容器可在NVIDIAGPU云容器注册表

需求

把容器

拉动容器下载容器图像到主机多克尔,运行容器的机器。你必须拉容器只有一次。

方法复制容器映像释放的拉命令NVIDIA容器注册。在“标记”部分中,找到要运行的容器映像版本。在“拉”列中,单击图标复制搬运工人拉命令。该命令的形式为:

搬运工人拉nvcr.io/partners/matlab:r20XYz
的标签r20XYz必须与特定的MATLAB版本名称所取代,例如r2020a。保证的最后一部分命令你要使用MATLAB版本相匹配。

连接到使用腻子或其他SSH客户端通过SSH泊坞窗主机从您的客户机。粘贴搬运工人拉命令到SSH客户端,并运行多克尔主机上的命令。你并不需要登录到NVIDIA容器注册拉容器图像。

运行搬运工人拉命令下载MATLAB容器图像到主机。这可能需要一些时间来下载并解压大型集装箱图像。

运行的容器

使用此命令运行MATLAB深度学习容器:

NVIDIA-搬运工运行 - 它--rm -p 5901:5901 -p 6080:6080 --shm尺寸= 512M nvcr.io/partners/matlab:r20XYz

保证的最后一部分命令你要使用MATLAB版本相匹配。

选项-p HOSTPORT:containerport地图从容器到多克尔主机上的端口,端口内,这样就可以连接到容器桌面。在容器中使用的端口是5901(对于VNC连接)和6080(网页浏览器连接)。如果要在同一台主机上部署多个容器,必须直到找到一个空闲端口递增主机端口。例如:

-p 5902:5901 -p 6081:6080

MATLAB的深度学习集装箱现在是你DGX机器上运行。

MATLAB从容器中

在容器中有三种访问MATLAB的方式:

  • 使用Web浏览器连接到容器桌面和运行MATLAB桌面

  • 使用VNC连接到容器桌面,运行MATLAB桌面

  • 使用命令行界面运行MATLAB

如果你的主机受防火墙保护,或者无法通过网络浏览器或VNC访问容器的桌面,你可以设置SSH隧道容器(见安全地连接)。

使用Web浏览器连接

与web浏览器连接使用端口6080在容器中。要连接,使用的网址:

http://hostname:6080

主机名在多克尔主机的名称在运行容器中,例如MyCompanyDGX1。如果您增加了主机端口运行的容器,使用适当的主机端口号,例如6081

您将看到noVNC登录屏幕。单击连接。当系统提示您输入密码才能访问桌面,使用密码:

MATLAB

您可以使用桌面图标,运行MATLAB。登录使用MathWorks公司®帐户。

如果您无法登录使用MathWorks公司的帐户,请检查您的帐户连接到配置为云使用的许可证。欲了解更多信息,请参阅对于MATLAB深度学习容器配置许可的NVIDIA GPU云(云上的许可)。

连接使用VNC

与VNC连接使用端口5901在容器中。VNC连接到映射到容器口为主机端口的主机显示5901;例如,显示1主机端口5901

要连接,使用VNC客户端连接到:

主机名:1

主机名在多克尔主机的名称在运行容器中,例如MyCompanyDGX1。如果您增加了主机端口运行的容器,使用适当的主机显示端口号,例如2主机端口5902

要登录并连接到容器桌面,请使用密码:

MATLAB

您可以使用桌面图标,运行MATLAB。登录使用MathWorks公司帐户。

如果您无法登录使用MathWorks公司的帐户,请检查您的帐户连接到配置为云使用的许可证。欲了解更多信息,请参阅对于MATLAB深度学习容器配置许可的NVIDIA GPU云(云上的许可)。

运行MATLAB使用命令行界面

您可以从终端使用命令行界面中使用命令运行MATLAB:

MATLAB

请注意,在这种情况下没有图形桌面。

如果您无法登录使用MathWorks公司的帐户,请检查您的帐户连接到配置为云使用的许可证。欲了解更多信息,请参阅对于MATLAB深度学习容器配置许可的NVIDIA GPU云(云上的许可)。

安全地连接

您可以使用SSH隧道来建立一个加密通道的客户机和容器之间的会话。这样做提供了客户端和容器之间的安全连接。如果主机或客户机是由防火墙保护,则必须使用SSH tunelling。

这些指令通过多克尔主机转发客户端端口,一个集装箱码头。当您设置一个SSH隧道,客户端端口和集装箱港口之间的所有通信是安全的。

在使用腻子窗户客户

如果您使用腻子连接到你的主机泊坞窗,使用菜单选项更改设置,通过点击标题栏访问添加新的转发端口。在腻子重新配置对话框,类别下,选择连接> SSH>隧道。

要通过VNC连接,建立一个隧道的集装箱港口5901

  • 在源端口字段,在客户机开始进入一个自由港5900, 例如5901

  • 在目标字段中输入您连接到集装箱港口相关主机端口5901运行的容器, 例如,localhost: 5901。请注意,您必须使用本地主机而不是主机实例的名称。

要通过Web浏览器连接,建立一个隧道的集装箱港口6080

  • 在源端口字段中,输入客户机上的空闲端口,例如6080

  • 在目标字段中输入您连接到集装箱港口相关主机端口6080运行的容器, 例如,本地主机:6080。请注意,您必须使用本地主机而不是主机实例的名称。

如果您正在使用多个容器或运行在客户机上VNC服务器,你必须增加在客户机上的源端口,直到找到一个空闲端口,例如,59026081

使用命令行界面

如果您使用的是命令行界面SSH隧道来一个集装箱码头,使用这种形式的命令:

ssh -L客户端:hostport ubuntu@MyCompanyDGX1

CLIENTPORT是在客户机上自由港,例如59016080HOSTPORT是您在连接到集装箱港口的主机端口运行的容器, 例如localhost: 5901本地主机:6080。请注意,您必须使用本地主机而不是主机实例的名称。

例如,使用下面的命令:

ssh -L 5901:localhost:5901 ubuntu@MyCompanyDGX1

例如,如果在客户端机器上运行VNC服务器,则必须增加客户端端口,直到找到空闲端口为止59026081

连接到容器桌面

现在可以使用转发的客户端端口连接到容器桌面。

要使用Web浏览器连接,使用的网址:

HTTP://本地主机:6080

请注意,您必须使用本地主机而不是主机实例的名称。

例如,如果在创建隧道时增加了客户端端口,则使用适当的客户端端口号6081

与VNC连接,使用您的VNC客户端连接到适当的显示端口在客户端,例如:

本地主机:1

请注意,您必须使用本地主机而不是主机实例的名称。

如果在进行隧道时,增加了客户端端口,使用适当的客户端显示的端口号,例如,2为端口5902

要运行MATLAB桌面,请遵循里面的说明运行MATLAB从容器

选择的GPU在集装箱培训

MATLAB支万博1manbetx持使用多GPU并联训练单个网络。为了能够在MATLAB深度学习集装箱多GPU训练,使用trainingOptions功能设置“执行环境”“多GPU”

使用。训练你的人际网络trainNetwork功能。MATLAB打开的工人上所有可用的GPU并行池。要选择培训只有特定的GPU,可以使用gpuDevice。为进一步的信息,请参阅选择特定的GPU用于培训(深学习工具箱)。

要测试你的容器,可以运行创建简单深层学习网络分类(深度学习工具箱)例子。要尝试此示例,请双击该文件MNISTExample.mlx在MATLAB启动文件夹中的当前文件夹窗格。要在所有可用的GPU上运行这个例子中,在trainingOptions功能,设置“执行环境”“多GPU”

导入和导出数据

您可以为深度学习和保存泊坞主机上训练的网络访问数据。您可以使用在主机系统安装文件夹的容器- 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

添加此选项将码头工人运行部署容器时使用。

欲了解更多信息,请参阅对于MATLAB深度学习容器配置许可的NVIDIA GPU云(云上的许可)。

进一步的配置选项

对于高级用户,可以通过附加的Docker选项对容器部署进行进一步配置。有关更多信息,请参见泊坞窗文件

关闭集装箱会议

要关闭容器会话,键入退出从集装箱码头。Docker容器被停止并移除。当容器关闭时,默认情况下不会保存进程或数据,除非您已通过挂载主机存储在主机中保存数据(如中所述)导入和导出数据

在容器中安装更新、工具箱和外接程序

您可以安装最新的更新MATLAB或安装额外的工具箱和插件。然后,你可以保存容器后使用,以避免重新安装变化。

要安装或更新MATLAB,你必须以超级用户权限运行MATLAB。在容器会话内的端子,具有使用以下命令根特权启动MATLAB。

须藤MATLAB

您可以从内部MATLAB安装更新和工具箱。有关如何安装更新的信息,请参阅更新现有安装(MATLAB)。有关如何安装工具箱和附加信息,请参阅获取和管理加载项(MATLAB)。

保存更改在集装箱

如果您在容器内的变化,如安装更新,更多的工具箱,或插件,您可以保存以备后用容器。然后,您可以部署容器的更新版本,而无需再次安装更新或工具箱。

你已经在容器中的改变之后,当容器仍在运行执行这些步骤。

在您的客户端机器上,使用PuTTY或用于访问Docker主机并启动容器的相同方法,打开到Docker主机(运行容器的机器)的另一个连接。

获得使用下面的命令运行容器的容器ID。

泊坞窗PS
此命令显示当前运行的所有容器的详细信息。确定您的MATLAB深度学习容器,并注意容器ID。

要保存容器,使用搬运工承诺命令。

搬运工提交<数据筒> <库>:<标签>
搬运工承诺命令本地保存基于所指定的容器ID的新容器图像;在这种情况下,基于当前正在运行的容器上。您可以查看可用的本地使用的图像泊坞窗图片命令。

举个例子,假设你在MATLAB深度学习容器使用MATLAB R2020a。你已经在你当前正在运行的集装箱更新MATLAB和要保存供以后使用。

首先,查找正在运行的容器的容器ID。

泊坞窗PS
容器ID图像命令创建状态端口名称3d555451f07a nvcr。io /合作伙伴/ matlab: r2020a”/ bin /运行。上调24分钟0.0.0.0:5901->5901/tcp, 0.0.0.0:6080->6080/tcp relaxed_pasteur

接着,提交容器的图像。

搬运工承诺3d555451f07a mymatlab:r2020a
属性中指定更新后的容器的标记,现在可以启动更新后的容器映像码头工人运行命令。

nvidia-docker run -it -rm -p 5901:5901 -p 6080:6080 -shm-size=512M mymatlab:r2020a

额外的信息

什么是NVIDIAGPU云计算?

NVIDIA GPU云是被设计为运行在高性能的NVIDIA GPU的应用程序容器的码头工人库。

什么是容器?

当你想运行一个应用程序或在多个不同的位置以可靠的方式一个软件,你可以使用的容器。一种容器是包含运行特定应用程序所需的(或一组应用程序)的一切,包括代码,库,驱动程序,和设置一个轻量级包。因为在一个容器应用程序总是以同样的方式运行,它们是管理良好定义的测试和部署环境中非常有用。

不同于虚拟机,容器共享主机和相同的容器中共享公共资源的多个实例的操作系统。这使得他们轻量化。然而,容器彼此和主机操作系统隔离。也就是说,容器内的应用程序只能访问文件和流程,容器内提供。

您可以在相同或不同的主机部署在同一容器的多个实例同时测试您的应用程序。为了扩展功能,您可以安装额外的文件,文件夹和容器设备。

什么是在MATLAB深度学习集装箱吗?

MATLAB的深度学习容器包含MATLAB和其他几个工具箱是在深度学习应用。

  • 计算机视觉工具箱™

  • GPU编码器™

  • 图像处理工具箱™

  • MATLAB编码器™

  • 深度学习工具箱™

  • 并行计算工具箱™

  • 信号处理工具箱™

  • 统计和机器学习工具箱™

  • 文本分析工具箱™

要执行使用的GPU在MATLAB深度学习集装箱深度学习,你必须要有许可证有效期为MATLAB,深入学习工具箱和并行计算工具箱。需要有效的其他产品在容器中使用授权访问容器的全部功能。s manbetx 845

  • 如果您没有深度学习工具箱或并行计算工具箱的有效许可证,MATLAB将在启动时显示一个警告,指示您不能使用这些产品。s manbetx 845

  • 如果您没有对MATLAB深度学习容器中的其他产品有效的许可证,MATLAB将在启动时显示一s manbetx 845条消息,指示您不能使用这些产品。

您可以在获得在MATLAB深度学习容器产品试用许可证s manbetx 845MATLAB试用深学习上的云

此外,该容器包含若干Pretrained深层神经网络(深学习工具箱)。

您可以导入网络和网络架构为从TensorFlow™-Keras,但Caffe,容器带或不带层的权重。您也可以训练的网络转换为开放式神经网络交换(ONNX)模型格式。

MATLAB的深度学习容器还包含:

通过在一个容器中部署该软件,你能避免安装和配置这些产品所需的设置时间。s manbetx 845您可以同时运行多个容器一次,或与可重复性的结果不同的地点,培养几个网络。

技术支援万博1manbetx

有关技术支持,评论,以及有关万博1manbetxMATLAB深度学习容器,联系人查询cloud-万博1manbetxsupport@mathworks.com

相关的话题