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

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

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

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

要求

把容器

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

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

搬运工人拉nvcr.io/partners/matlab:r2018b

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

使用PuTTY或其他SSH客户机通过SSH从您的客户机连接到Docker主机。在主机上,使用以下命令登录到NVIDIA容器注册表:

码头工人登录nvcr.io

要使用API密钥进行身份验证,请输入oauthtoken美元你的用户名。

用户名:$ oauthtoken
密码:[我的NGC API密钥]

粘贴码头工人拉命令到SSH客户端,并运行多克尔主机上的命令。

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

运行容器

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

nvidia-docker运行-rm -p 5901:5901 -p 6080:6080 -shm-size=512M nvcr.io/partners/matlab:r2018a

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

的选项-p HOSTPORT:containerport地图从容器到多克尔主机上的端口,端口内,这样就可以连接到容器桌面。在容器中使用的端口是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://主机名:6080

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

您将看到noVNC的登录屏幕。单击连接。当你被提示输入密码进入桌面时,使用密码:

MATLAB

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

如果您无法使用MathWorks帐户登录,请检查您的帐户是否连接到为云使用配置的许可证。有关更多信息,请参见在NVIDIA GPU云上为MATLAB深度学习容器配置许可(云许可)。

使用VNC连接

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

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

主机名:1

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

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

MATLAB

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

如果您无法使用MathWorks帐户登录,请检查您的帐户是否连接到为云使用配置的许可证。有关更多信息,请参见在NVIDIA GPU云上为MATLAB深度学习容器配置许可(云许可)。

使用命令行界面运行MATLAB

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

MATLAB

注意,在本例中没有图形化桌面。

如果您无法使用MathWorks帐户登录,请检查您的帐户是否连接到为云使用配置的许可证。有关更多信息,请参见在NVIDIA GPU云上为MATLAB深度学习容器配置许可(云许可)。

安全地连接

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

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

在使用腻子视窗客户

如果您使用PuTTY连接到Docker主机,请使用菜单选项Change Settings添加一个新的已转发端口,可以通过单击标题栏进行访问。在“PuTTY重新配置”对话框的“类别”下,选择连接> SSH >隧道。

要通过VNC进行连接,需要设置到集装箱港口的隧道5901

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

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

要通过web浏览器进行连接,需要设置到容器端口的通道6080

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

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

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

使用命令行界面

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

SSH -L CLIENTPORT:HOSTPORT Ubuntu的@ MyCompanyDGX1

clientport例如,客户机上是否有空闲端口59016080hostport你连接到集装箱港口的主机端口在吗运行容器例如,localhost: 5901localhost: 6080。注意你必须使用本地主机而不是主机实例的名称。

例如,使用以下命令:

SSH-L 5901:本地主机:5901 Ubuntu的@ MyCompanyDGX1

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

连接到桌面的容器

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

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

HTTP://本地主机:6080

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

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

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

localhost: 1

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

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

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

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

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

使用列车网络trainNetwork函数。MATLAB在所有可用的gpu上打开一个并行的工作者池。为了只选择特定的gpu进行培训,您可以使用gpuDevice。有关更多信息,请参见选择特定的gpu用于培训(深学习工具箱)。

要测试容器,可以运行创建简单的深度学习网络进行分类(深度学习工具箱)例子。要尝试此示例,请双击该文件MNISTExample.mlx在MATLAB启动文件夹的“当前文件夹”窗格中。要在所有可用的gpu上运行此示例,请参见trainingOptions函数,设置“ExecutionEnvironment”“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地址IPaddress:端口。使用形式的一个选项:

-e NGC_PROXY =主机名:端口

将此选项添加到搬运工人运行部署容器时命令。

网络许可证管理器

如果您的许可证是通过网络许可证管理器管理的,您可以在MATLAB深度学习容器中使用该许可证。您可以在。中指向许可证的位置搬运工人运行命令。添加的选项:

- e MLM_LICENSE_FILE = 27000 @mylicenseserver

将此选项添加到搬运工人运行部署容器时命令。

有关更多信息,请参见在NVIDIA GPU云上为MATLAB深度学习容器配置许可(云许可)。

进一步的配置选项

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

关闭容器会话

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

额外的信息

是什么英伟达GPU云?

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

什么是容器?

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

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

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

什么是在MATLAB深度学习容器?

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

  • 计算机视觉工具箱™

  • GPU编码器™

  • 图像处理工具箱™

  • MATLAB编码器™

  • 深度学习工具箱™

  • 并行计算工具箱™

  • 信号处理工具箱™

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

  • 文本分析工具箱™

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

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

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

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

此外,该容器还包含几个预训练深层神经网络(深学习工具箱)。

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

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

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

技术支援金宝app

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

相关的话题