主要内容

MATLAB深度学习容器英伟达GPU云亚马逊网页服务

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

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

本指南可帮助您在Amazon EC2上运行云中的MATLAB桌面®p3实例。对于其他云服务供应商,所需步骤是不同的。Matlab Deep学习容器,托管在NVIDIA GPU云上的Docker容器,简化了该过程。容器可在此处提供英伟达GPU云集装箱注册表

要求

  • 亚马逊®Web服务帐户

  • MATLAB许可证有效用于MATLAB深度学习容器中的产品。下载188bet金宝搏有关Mathworks容器的许可的更多信息,请参阅配置Mathworks容器的许可证(云平台上的许可)

    您可以在以下位置获得MATLAB深度学习容器中产品的试用许可:下载188bet金宝搏MATLAB在云中深入学习的审判

成本

您负责使用本指南创建群集时使用的Amazon Web服务的成本。资源设置,例如实例类型,影响部署的成本。对于成本估计,请参阅您使用的每个AWS服务的定价页面。价格随时可能更改。

准备你的AWS帐户

如果您没有Amazon Web Services帐户,请创建一个https://aws.amazon.com.按照屏幕上的说明进行操作。使用AmazonEC2控制台创建密钥对。

请确保在创建密钥对时下载私钥,因为这是作为管理员连接到实例的唯一方法。

启动Docker主机实例

登录您的Amazon Web服务控制台。从“服务”菜单中,选择EC2。单击“启动实例”按钮。

在“选择AMI”页面上,导航到AWS市场并搜索NVIDIA深度学习AMI。此亚马逊机器图像(AMI)专为NVIDIA GPU云而设计,以利用P3实例中提供的Volta GPU。

注意,并非所有可用分区都提供P3实例。可用分区是在创建VPC时定义的。

在“配置实例”、“添加存储”和“添加标记”页面上,根据需要配置实例。

如果有必要,请在“配置安全组”页面上为实例选择或创建适当的安全组。

正确配置后,选择适当的密钥对选项并启动实例。确保您可以访问您的私钥,以便您可以登录到您的实例。

拉容器

将容器拉动将容器图像下载到Docker主机实例上,该计算机将运行容器的计算机。每个EC2实例只需一次将容器拉一次。

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

docker pull nvcr.io/partners/matlab:r20XYz
在哪里标签r20XYz例如,必须用特定的MATLAB发布名称替换为r2020a. 确保报告的最后一部分命令匹配您想要使用的MATLAB版本。

使用PuTTY或其他SSH客户端,使用私钥从客户端计算机通过SSH连接到实例。默认用户名为:

ubuntu@ec2-public-ipv4-address.region.amazonaws.com.
您可以在Amazon Web服务控制台中找到实例的公共IPv4 DNS地址。

粘贴Docker Pull.命令在您的SSH客户端中,并在EC2实例上运行命令。您不需要登录NVIDIA容器注册表以拉动容器图像。

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

运行容器

使用表单中的命令运行MATLAB深度学习容器:

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

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

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

-第5902:5901页-第6081:6080页

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

安全地连接

您可以使用SSH隧道在客户端计算机和容器会话之间设置加密通道。您必须执行此操作以访问在EC2实例中运行的容器的桌面。

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

使用PuTTY在视窗客户端

如果使用PuTTY连接到Docker主机实例,请使用菜单选项“更改设置”添加新的转发端口,可通过单击标题栏访问。在PuTTY重新配置对话框的类别下,选择连接>SSH>隧道。

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

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

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

要通过web浏览器连接,请设置到容器端口的隧道6080

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

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

如果您在客户端计算机上使用多个容器或运行VNC服务器,则必须在找到一个免费端口之前递增客户端计算机上的源端口,例如5902要么6081

使用命令行界面

如果使用命令行界面将SSH隧道连接到容器端口,请使用以下形式的命令:

ssh-L客户端端口:主机端口ubuntu@ec2-public-ipv4-address.region.amazonaws.com

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

例如,使用此命令:

ssh -L 5901:localhost:5901 ubuntu@ec2-public-ipv4-address.region.amazonaws.com

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

跑步MATLAB在容器中

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

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

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

  • 使用命令行界面运行matlab

使用Web浏览器连接

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

http://localhost:6080

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

如果递增客户端口安全地连接,例如,使用适当的主机端口号6081

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

matlab

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

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

使用VNC连接

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

localhost:1

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

如果递增客户端口安全地连接,使用适当的主机显示端口号,例如2.对于5902

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

matlab

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

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

跑步MATLAB使用命令行界面

您也可以使用命令行界面从终端运行MATLAB,命令如下:

matlab

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

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

选择GPU以进行容器培训

MATLAB支金宝app持使用多个GPU并行培训单个网络。为了在Matlab深度学习容器中启用多GPU培训,使用培训选项函数设置“执行环境”“multi-gpu”

使用培训您的网络Trainnetwork.功能。MATLAB在所有可用的GPU上打开一个并行工作池。要仅选择特定的GPU进行培训,可以使用gpuDevice.有关详细信息,请参阅选择用于培训的特定GPU(深度学习工具箱)

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

导入和导出数据

导入数据亚马逊S3

如果您的数据存储在Amazon S3™中,您可以直接从MATLAB访问它。有关更多信息,请参见使用远程数据(MATLAB)

读写云数据

您可以访问深度学习的数据,并在云中保存培训的网络。通过将存储连接到EC2实例并将其安装到容器中,通过将存储连接到Amazon EFS和Amazon EBS中的读写数据。

首先,将EFS或EBS连接到EC2实例。为此,请确保使用适当的Security Group设置和访问规则创建了EC2和存储。有关详细说明,请参见使用亚马逊用于持久数据存储的弹性文件系统(EFS)使用亚马逊弹性块存储(EBS)用于持久数据存储

例如,假设您已将EFS卷安装到主机EC2实例中,该文件在命名的文件夹下efs.下面的选项挂载EC2源文件夹efs放入容器中的目标文件夹中,containerdeeplearningdata.:

-v/efs:/ContainerDeepLearningData

将选项添加到Docker运行指挥运行容器

您现在可以访问并保存文件夹中的容器中的数据containerdeeplearningdata..EFS卷也可提供保存的数据。一旦容器停止,这些文件仍然存在。从容器中修改文件覆盖EFS卷中的文件。

如果已将多个存储卷装载到主机EC2实例,则可以使用其他方法将所需数量的文件夹装载到容器中-v.选项。

运行选项

配置桌面接入密码

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

-e password = mynewpassword

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

网络许可证管理器

如果您的许可证是通过网络许可证管理器管理的,则可以将此许可证与MATLAB深度学习容器一起使用。您可以在中指向许可证的位置Docker运行指挥部。添加选项:

-e mlm_license_file = 27000 @ myliceseserver

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

有关更多信息,请参见配置Mathworks容器的许可证(云平台上的许可)

进一步的配置选项

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

关闭容器会话

要关闭容器会话,输入出口从集装箱码头。容器停止并移除。默认情况下,如果容器关闭,则不会保存流程或数据,除非您通过安装云存储,否则您已保存云中的数据,如图所示导入和导出数据

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

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

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

sudomatlab

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

在容器中保存更改

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

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

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

使用以下命令获取正在运行的容器的容器ID。

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

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

Docker提交 <存储库>:
这个Docker提交命令根据指定的容器ID本地保存新的容器图像;在本例中,基于当前运行的容器。您可以使用查看本地可用的图像码头工人的图片命令。

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

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

Docker PS.
CONTAINER ID IMAGE命令创建的状态端口名称为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

接下来,提交容器图像。

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

Docker Run-it -RM -P 5901:5901 -P 6080:6080  -  GPU全部 -  SHM-SIZE = 512M MYMATLAB:R2020A

附加信息

什么是英伟达GPU云?

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

什么是容器?

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

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

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

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

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

  • 计算机视觉工具箱™

  • 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.

相关话题