主要内容

马铃薯深度学习容器英伟达GPU的云英伟达帕特

通过在MATLAB中训练神经网络来加速你的深度学习应用程序®深度学习容器,旨在充分利用高性能NVIDIA®GPU。您可以使用Web浏览器或通过VNC连接远程访问MATLAB深度学习容器。

MATLAB深度学习容器包含MATLAB和一系列适合深度学习的MATLAB工具箱(参见额外的信息)。

本指南可帮助您在NVIDIA DGX平台上运行云中的MATLAB桌面。Matlab Deep学习容器,托管在NVIDIA GPU云上的Docker容器,简化了该过程。容器可在此处提供英伟达GPU云容器注册表

需求

把容器

将容器拉动将容器图像下载到Docker主机上,运行容器的计算机。你必须只拉一次容器。

控件中复制容器映像释放的pull命令英伟达容器注册表。在Tags部分中,找到要运行的容器映像释放。在Pull列中,单击图标复制Docker Pull.命令。该命令是表单:

码头工人拉nvcr.io /合作伙伴/ matlab: r20XYz
的标签r20XYz例如,必须用特定的MATLAB发布名称替换为r2020a。确保最后的部分命令匹配要使用的MATLAB释放。

使用Putty或其他SSH客户端通过SSH连接到Docker主机。粘贴Docker Pull.命令,并在Docker主机上运行该命令。您不需要登录NVIDIA容器注册表来拉取容器映像。

运行Docker Pull.命令将MATLAB容器映像下载到主机上。下载和提取大型容器映像可能需要一些时间。

运行的容器

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

NVIDIA-Docker Run-it -rm -p 5901:5901 -p 6080:6080  -  shm-size = 512m nvcr.io/partners/matlab :r20xyz

确保最后的部分跑步命令匹配要使用的MATLAB释放。

的选项-p hostport:containerport将容器内部的映射端口到Docker主机上的端口,以便您可以连接到容器桌面。容器中使用的端口是5901(对于VNC连接)和6080.(对于Web浏览器连接)。如果您在同一主机上部署多个容器,则必须递增主机端口,直到找到一个免费端口。例如:

-p 5902:5901 -p 6081:6080

MATLAB深度学习容器现已在您的DGX机器上运行。

跑步马铃薯从容器中

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

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

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

  • 使用命令行界面运行MATLAB

如果您的主机受到防火墙的保护,或者您不能通过web浏览器或VNC访问容器桌面,您可以设置到容器的SSH隧道(参见安全地连接)。

使用Web浏览器连接

连接web浏览器需要端口6080.在容器中。要连接,请使用URL:

http://hostname:6080

主机名例如,运行容器的Docker主机的名称mycompanydgx1.。如果递增主机端口运行的容器,例如使用适当的主机端口号6081.

您将看到Novnc的登录屏幕。单击“连接”。当系统提示您输入要访问桌面的密码时,请使用密码:

马铃薯

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

如果无法使用MathWorks帐户登录,请检查您的帐户是否已连接到为云使用配置的许可证。检查,访问授权中心

使用VNC连接

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

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

主机名:1

主机名例如,运行容器的Docker主机的名称mycompanydgx1.。如果递增主机端口运行的容器,使用适当的主机显示端口号,例如2对于主机港口5902

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

马铃薯

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

如果无法使用MathWorks帐户登录,请检查您的帐户是否已连接到为云使用配置的许可证。检查,访问授权中心

使用命令行界面运行MATLAB

你可以在终端上使用命令行界面运行MATLAB:

马铃薯

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

如果无法使用MathWorks帐户登录,请检查您的帐户是否已连接到为云使用配置的许可证。检查,访问授权中心

安全地连接

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

这些指令通过Docker主机将客户端端口转发到容器端口。设置SSH隧道后,客户端端口和容器端口之间的所有通信都是安全的。

在a上使用putty窗户客户

如果使用Putty以连接到Docker主机,请使用菜单选项更改设置添加新的转发端口,单击标题栏可访问。在Putty重新配置对话框中,根据类别,选择Connection> SSH>隧道。

要通过VNC连接,请将隧道设置为容器端口5901

  • 在“源端口”字段中,在启动客户端计算机上输入一个免费端口5900.例如,5901

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

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

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

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

如果您使用多个容器或在客户端计算机上运行VNC服务器,则必须将客户端计算机上的源端口递增,直到找到一个免费端口,例如,59026081.

使用命令行界面

如果您使用命令行接口到SSH隧道到容器端口,请使用此表单的命令:

ssh -L clientport:hostport ubuntu@MyCompanyDGX1

客户例如,是客户机上的免费端口59016080.hostport是您连接到容器端口的主机端口运行的容器例如,localhost: 5901localhost: 6080。请注意,您必须使用localhost.而不是主机实例的名称。

例如,使用以下命令:

ssh - l5901:localhost:5901 ubuntu@MyCompanyDGX1 .输出说明

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

连接容器桌面

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

要使用Web浏览器连接,请使用URL:

http:// localhost:6080

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

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

要连接到VNC,使用VNC客户端连接到客户端上相应的显示端口,例如:

localhost:1

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

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

要运行MATLAB桌面,请按照从容器运行matlab

选择GPU以进行容器培训

MATLAB支金宝app持使用多个GPU并行培训单个网络。为了在Matlab深度学习容器中启用多GPU培训,使用trainingOptions函数设置“ExecutionEnvironment”'多gpu'

训练你的社交网络trainNetwork函数。MATLAB在所有可用的gpu上打开一个并行的工作者池。如果只选择特定的图形处理器进行培训,可以使用GPudevice.。有关更多信息,请参见选择特定的gpu用于培训(深度学习工具箱)

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

导入和导出数据

您可以访问Docker主机上深入学习的数据并保存培训的网络。您可以使用使用的将文件夹安装到容器中的文件夹- v码头工人的选择。

例如,假设您在命名的客户端计算机上有一个文件夹MyDeepLearningData。此文件夹包含名为MyTrainingData,其中包含用于训练网络的图像集。该文件夹还包含子文件夹MyTrousedNetworks.,您希望保存培训的网络数据。

以下选项安装源文件夹MyDeepLearningData以及它的子文件夹到容器中的目标文件夹,containerdeeplearningdata.:

- v / MyCompanyDGX1 / MyDeepLearningData: / ContainerDeepLearningData

将该选项添加到码头工人运行命令在运行的容器

您现在可以访问并保存文件夹中的容器中的数据containerdeeplearningdata.。保存的数据在文件夹中的主机中可用MyDeepLearningData。一旦容器停止,这些文件将保持不变。注意,从容器内修改文件会覆盖主机上的文件。

您可以根据需要使用额外的文件夹将AS多个文件夹安装到容器上- 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 @ myliceseserver

将此选项添加到码头工人运行命令。

有关更多信息,请参阅NVIDIA GPU云上的MATLAB深度学习容器

进一步的配置选项

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

关闭容器会话

关闭容器会话,键入退出从集装箱码头。停止并移除Docker容器。关闭容器时,默认不保存任何进程或数据,除非通过挂载主机存储将数据保存在主机上导入和导出数据

在容器中安装更新、工具箱和加载项

您可以安装最新的MATLAB更新或安装额外的工具箱和附加组件。然后,您可以保存容器以供以后使用,以避免重新安装更改。

要安装或更新MATLAB,您必须以超级用户权限运行MATLAB。在容器会话内的终端上,使用下面的命令以根权限启动MATLAB。

sudo matlab

您可以从MATLAB中安装更新和工具箱。有关如何安装更新的信息,请参阅更新现有安装(MATLAB)。有关如何安装工具箱和外接程序的信息,请参见获取和管理Add-Ons(MATLAB)

保存容器中的更改

如果在容器中进行更改,例如安装更新,其他工具箱或加载项,则可以保存容器以供以后使用。然后,您可以部署更新的容器版本,而无需再次安装更新或工具箱。

在容器中进行更改之后,并在容器仍在运行时执行这些步骤。

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

使用如下命令获取运行容器的容器ID。

Docker PS.
这个命令显示当前运行的所有容器的详细信息。识别你的MATLAB深度学习容器,并记下容器ID。

要保存容器,请使用Docker提交命令。

Docker提交 <存储库>:
Docker提交命令根据指定的容器ID在本地保存一个新的容器图像;在本例中,基于当前运行的容器。控件可以查看本地可用的映像Docker映像命令。

例如,假设您在Matlab深度学习容器中使用Matlab R2020A。您已在您正在运行的容器中更新MATLAB,并且您希望保存它以供以后使用。

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

Docker PS.
容器ID镜像命令创建的状态端口名称3d555451f07a nvcr。/ etc / init . io/partners/matlab:r2020a "/bin/run.sh

接下来,提交容器图像。

Docker commit 3d555451f07a mymatlab:r2020a
控件中指定已更新容器的标记,就可以启动已更新的容器映像码头工人运行命令。

——rm -p 5901:5901 -p 6080:6080——shm-size=512M mymatlab:r2020a

额外的信息

什么是英伟达GPU云?

NVIDIA GPU云是一个容器的Docker存储库,旨在在高性能NVIDIA GPU上运行应用程序。

什么是容器?

当您想要以可靠的方式运行应用程序或软件,您可以使用容器。容器是一个轻量级包,包含运行特定应用程序(或应用程序集)所需的一切,包括代码,库,驱动程序和设置。由于容器中的应用程序始终以相同的方式运行,因此它们非常有用用于管理定义明确的测试和部署环境。

与虚拟机不同,容器共享主机的操作系统,同一个容器的多个实例共享公共资源。这使得它们很轻。但是,容器彼此之间和主机操作系统之间是隔离的。也就是说,容器内的应用程序只能访问该容器内提供的文件和进程。

您可以在相同或不同的主机上部署多个相同容器的实例以同时测试您的应用程序。要扩展功能,您可以将其他文件,文件夹和设备装入容器。

什么是马铃薯深度学习集装箱吗?

MATLAB深度学习容器包含MATLAB和几个其他工具箱,可用于深入学习应用。

  • 计算机视觉工具箱™

  • GPU编码器™

  • 图像处理工具箱™

  • MATLAB编码器™

  • 深度学习工具箱™

  • 并行计算工具箱™

  • 信号处理工具箱™

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

  • Text Analytics Toolbox™

为了在MATLAB深度学习容器中使用GPU进行深度学习,您必须为MATLAB,深度学习工具箱和并行计算工具箱有许可。需要对容器中的其他产品有效的许可证来访问容器的完整功能。下载188bet金宝搏

  • 如果您没有深度学习工具箱或并行计算工具箱的有效许可证,MATLAB在启动时显示警告,提示您不能使用这些产品。下载188bet金宝搏

  • 如果您没有MATLAB深度学习容器中其他产品的有效许可证,MATLAB在启动时显示一条消息下载188bet金宝搏,表明您不能使用这些产品。

您可以在下面获取MATLAB深度学习容器中的产品试用许可证下载188bet金宝搏Matlab审判在云上深入学习

此外,容器还包含多个预训练的深度神经网络(深度学习工具箱)

您可以将网络和网络架构导入来自Tensorflow™-Keras和Caffe的容器,有或没有层重量。您还可以将培训的网络转换为开放的神经网络交换(ONNX)模型格式。

MATLAB深度学习容器还包含:

通过将此软件部署在容器中,您可以避免安装和配置这些产品所需的设置时间。下载188bet金宝搏您可以运行多个容器以一次或在不同的位置培训多个网络,具有可重复的结果。

技术支援金宝app

关于MATLAB深度学习容器金宝app的技术支持,评论和查询,联系cloud-金宝appsupport@mathworks.com

相关的话题