主要内容

MATLAB深度学习容器英伟达GPU云英伟达帕特

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

MATLAB深度学习容器包含MATLAB和一系列非常适合深度学习的MATLAB工具箱(见附加信息)。

本指南帮助您在NVIDIA DGX平台上的云中运行MATLAB桌面。MATLAB Deep Learning容器是一个托管在NVIDIA GPU云上的Docker容器,简化了过程。集装箱可在英伟达GPU云集装箱注册表

要求

拉容器

拉动容器会将容器映像下载到Docker主机(运行容器的机器)上。你只需拉动容器一次。

您可以从中复制容器图像释放的Pull命令英伟达容器注册表.在“标记”部分中,找到要运行的容器映像释放。在拉列中,单击图标以复制码头工人拉力命令。该命令的形式如下:

码头工人拉nvcr.io /合作伙伴/ matlab: r20XYz
在哪里标签r20XYz例如,必须替换为特定的MATLAB版本名称R2020A.确保最后一部分命令匹配您想要使用的MATLAB版本。

使用PuTTY或其他SSH客户端,通过SSH从客户端计算机连接到Docker主机。粘贴码头工人拉力命令导入SSH客户端,并在Docker主机上运行该命令。您不需要登录到NVIDIA容器注册表来拉出容器映像。

运行码头工人拉力命令将MATLAB容器映像下载到主机上。下载和提取大型容器映像可能需要一些时间。

运行容器

使用下面的命令运行MATLAB深度学习容器:

nvidia docker run-it--rm-p5901:5901-p6080:6080--shm size=512Mnvcr.io/partners/matlab:r20XYz

确保最后一部分命令匹配您想要使用的MATLAB版本。

的选项- p hostport: containerport将容器内部的端口映射到Docker主机上的端口,以便连接到容器桌面。集装箱使用的端口为5901(用于VNC连接)和6080(用于网络浏览器连接)。如果在同一台主机上部署多个容器,则必须增加主机端口,直到找到空闲端口为止。例如:

-P 5902:5901 -P 6081:6080

MATLAB深度学习容器现在正在DGX机器上运行。

MATLAB来自容器

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

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

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

  • 使用命令行界面运行matlab

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

使用Web浏览器连接

与Web浏览器连接使用端口6080在容器中。要连接,使用URL:

http:// hostname:6080

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

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

matlab

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

如果不能使用MathWorks帐户登录,请检查帐户是否连接到配置为云使用的许可证。检查,请访问许可证中心

使用VNC连接

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

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

主机名:1

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

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

matlab

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

如果不能使用MathWorks帐户登录,请检查帐户是否连接到配置为云使用的许可证。检查,请访问许可证中心

使用命令行界面运行MATLAB

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

matlab

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

如果不能使用MathWorks帐户登录,请检查帐户是否连接到配置为云使用的许可证。检查,请访问许可证中心

安全地连接

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

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

使用PuTTY在视窗客户端

如果您正在使用PuTTY连接到Docker主机,请使用菜单选项Change Settings添加一个新的转发端口,单击标题栏即可访问该选项。在“PuTTY Reconfiguration”对话框的“Category”下,选择“Connection > SSH > Tunnels”。

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

  • 在Source端口字段中,在客户机上输入一个空闲端口5900例如,5901

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

要通过网络浏览器连接,需要建立一条到集装箱港口的隧道6080

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

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

如果在客户端计算机上使用多个容器或运行VNC服务器,则必须增加客户端计算机上的源端口,直到找到空闲端口,例如,5902要么6081

使用命令行界面

如果您正在使用命令行界面来SSH隧道到容器端口,请使用以下形式的命令:

ssh -l clientport:hostport ubuntu @ mycompanydgx1

clientport例如,是客户端计算机上的自由端口5901要么6080hostport连接到集装箱端口的主机端口是否在运行容器例如,localhost:5901要么localhost: 6080. 请注意,您必须使用本地主机而不是主机实例的名称。

例如,使用如下命令:

ssh -l 5901:localhost:5901 Ubuntu @ mycompanydgx1

如果您在客户端计算机上运行VNC服务器,则必须将客户端口递增,直到找到一个免费端口,例如5902要么6081

连接到容器桌面

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

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

http://localhost:6080

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

例如,如果在制作隧道时递增客户端口,请使用相应的客户端口号6081

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

本地主机:1

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

如果在创建隧道时增加了客户端端口,请使用适当的客户端显示端口号,例如:2对于港口5902

要运行MATLAB桌面,请按照说明进行操作从容器运行MATLAB

在容器中选择用于培训的GPU

MATLAB支金宝app持使用多个GPU并行训练单个网络。要在MATLAB深度学习容器中启用多GPU训练,请使用培训选项要设置的函数“ExecutionEnvironment”“multi-gpu”

使用培训您的网络Trainnetwork.函数。MATLAB在所有可用的gpu上打开一个并行工作池。要只选择特定的图形处理器用于培训,您可以使用gpuDevice.有关详细信息,请参阅选择用于培训的特定图形处理器(深度学习工具箱)

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

导入和导出数据

您可以访问数据进行深入学习,并将经过培训的网络保存在Docker主机上。可以使用将主机系统中的文件夹装载到容器中-v.码头工人的选择。

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

以下选项装载源文件夹MyDeepLearningData和它的子文件夹到容器中的目标文件夹,ContainerDeepLearningData

- v / MyCompanyDGX1 / MyDeepLearningData: / ContainerDeepLearningData

将选项添加到Docker运行命令在运行容器

现在,您可以访问和保存文件夹中容器内的数据ContainerDeepLearningData. 保存的数据在主机中的文件夹中可用MyDeepLearningData.一旦容器停止,这些文件就会持久化。注意,在容器内修改文件会覆盖主机上的文件。

您可以使用其他方法将所需数量的文件夹装载到容器中-v.选项。

运行选项

配置桌面接入密码

要更改密码以通过VNC或web浏览器访问容器中的桌面,您可以使用以下选项:

-e password = mynewpassword

将此选项添加到Docker运行部署容器时的命令。

配置代理设置

如果您的DGX系统通过代理服务器连接到互联网,您可以在运行容器时指定您的代理设置。如果使用带在线许可的MATLAB,则需要指定代理设置以连接到MathWorks在线许可服务器。

使用表单的选项:

- e NGC_PROXY = < proxy-server-address >

将此选项添加到Docker运行部署容器时的命令。

您可以使用下列任何形式指定代理服务器地址:

  • 主机名:12345

  • shorthostname: 12345

  • http://hostname:12345

  • http://用户名:密码@ hostname:12345

  • iPaddress:12345

哪里主机名是完全限定域名,短主机名是相对域名,并且12345是端口号。

网络许可证管理器

如果您的许可证是通过网络许可证管理器管理的,那么您可以将此许可证与MATLAB深度学习容器一起使用。您可以在Docker运行命令。添加选项:

-电子传销许可证文件=27000@MyLicenseServer

将此选项添加到Docker运行部署容器时的命令。

有关更多信息,请参见NVIDIA GPU云上的Matlab深入学习容器

进一步的配置选项

对于高级用户,通过额外的Docker选项提供容器部署的进一步配置。有关更多信息,请参阅码头工人的文档

关闭容器会话

要关闭容器会话,输入出口从集装箱码头。Docker容器停止并删除。默认情况下,默认情况下,无需保存进程或数据,除非您通过安装主机存储(如上所述)在主机中保存了数据导入和导出数据

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

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

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

sudo matlab

您可以在MATLAB中安装更新和工具箱。有关如何安装更新的信息,请参阅更新现有安装(MATLAB).有关如何安装工具箱和附加组件的信息,请参见获取和管理附加组件(MATLAB)

在容器中保存更改

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

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

在您的客户端计算机上,打开与Docker主机的另一个连接,机器运行容器,使用腻子或相同的方法来访问Docker主机并启动容器。

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

docker ps
此命令显示当前正在运行的所有容器的详细信息。识别您的MATLAB深度学习容器,并注意到容器ID。

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

docker提交
docker提交命令根据指定的容器ID在本地保存一个新的容器映像;在本例中,基于当前运行的容器。属性可以查看本地可用的映像码头工人的图片命令。

例如,假设您在MATLAB深度学习容器中使用MATLAB R2020a。您已经在当前运行的容器中更新了MATLAB,并希望将其保存以供以后使用。

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

docker ps
容器ID图像命令创建状态端口名称3d555451F07a nvcr.io/partners/matlab:r2020a“/bin/run.sh”24分钟前24分钟0.0.0.0:5901->5901/tcp,0.0.0.0:6080->6080 / TCP Relaxed_Pasteur

接下来,提交容器映像。

Docker提交3d555451f07a mymatlab:r2020a
您现在可以通过指定更新的容器中的标记来启动更新的容器映像Docker运行命令。

NVIDIA-Docker Run-it -RM -P 5901:5901 -P 6080:6080  -  SHM尺寸= 512M MyMatlab:R2020A

附加信息

是什么英伟达GPU云?

NVIDIA GPU Cloud是一个Docker容器库,设计用于在高性能NVIDIA GPU上运行应用程序。

什么是容器?

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

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

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

里面有什么MATLAB深度学习容器?

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

  • 计算机Vision Toolbox™

  • GPU编码器™

  • 图像处理工具箱™

  • MATLAB编码器™

  • 深度学习工具箱™

  • 并行计算工具箱™

  • 信号处理工具箱™

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

  • 文本分析工具箱™

要使用MATLAB深度学习容器中的gpu执行深度学习,您必须拥有MATLAB、深度学习工具箱和并行计算工具箱的有效许可证。要访问容器的全部功能,需要对容器中的其他产品有效的许可证。下载188bet金宝搏

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

  • 如果您没有Matlab Deep学习容器中其他产品的许可证,Matlab在启动时显示一条消下载188bet金宝搏息,指示您无法使用这些产品。

您可以通过以下链接获得MATLAB深度学习容器中的产品的试用许可证下载188bet金宝搏在云上进行深入学习的MATLAB试验

此外,该容器还包含几个普里德深度神经网络(深度学习工具箱)

您可以从TensorFlow将网络和网络体系结构导入到容器中™-Keras和Caffe,带或不带层重。您还可以将经过训练的网络转换为开放式神经网络交换(ONNX)模型格式。

MATLAB深度学习容器还包括:

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

技术支持金宝app

有关MATLAB深度学习容器金宝app的技术支持、注释和查询,请联系cloud-金宝appsupport@mathworks.com.

相关话题