深度学习

理解和使用深度学习网络

加速与MATLAB和NVIDIA NGC深度学习培训

这是帖子Akhil Docca高级产品营销经理在NVIDIA和安迪,AI MathWorks伙伴经理

介绍

数据科学家、研究人员和开发人员需要合适的软件工具来轻松地构建、优化,并测试其人工智能应用程序,而不必担心复杂的环境中,相互依赖关系,司机需要运行他们的应用程序。此外,他们需要扩大和水平扩展能力,以减少网络的训练时间,使快速迭代,增加灵活性的本地或在云中运行他们的工作负载。

简化整个过程MATLAB与NVIDIA NGC用集装箱装和交付其最新的软件启用GPU-accelerated AI工作流。

容器和NVIDIA NGC

一个容器是一种便携式装置的软件相结合的应用程序及其所有依赖关系到一个包中。不可知论者的底层主机操作系统,消除了需要建立复杂的环境和简化应用程序development-to-deployment过程。

英伟达NGC目录GPU-optimized中心的AI和HPC软件包括容器、pre-trained模型,sdk和舵图表,旨在简化和加速AI工作流。NGC的容器是常见的漏洞扫描和曝光(cf)和码头工人和奇点运行时进行测试。他们在检测性能single-GPU multiple-GPU多节点系统。此外,容器可以本地运行非常便携,在云上,或在边缘。

训练一个计算机视觉模型使用MATLAB NGC容器

本指南将帮助您运行的MATLAB桌面云在Amazon EC2®P3实例。然而,您可以运行容器在您选择的CSP或您的本地系统。

MATLAB深度学习容器是可用的英伟达NGC目录

请注意:MATLAB R2021a支持金宝app最新的安培NVIDIA gpu和将很快在NVIDIA NGC目录。

需求

  • 亚马逊®Web服务帐户
  • MATLAB的MATLAB许可产品的有效深度学习的容器。下载188bet金宝搏对MathWorks容器许可证的更多信息,见为MathWorks容器配置许可云平台(许可)。

在AWS上创建EC2实例

登录到你的AWS管理控制台并选择下EC2计算服务。

图1:AWS管理控制台和列表的服务

使用Amazon EC2控制台创建一个密钥对。确保你得到你的私钥,这样你可以登录到您的实例。

图2:EC2仪表板和密钥对的位置

图3:对话框来创建密钥对

请注意:确保您下载并注意到私钥的位置当你创建一对,因为它是唯一的方式连接到实例作为管理员。

启动主机实例码头工人

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

图4:发射一个EC2实例的EC2仪表板

在选择AMI页面,导航到AWS市场和寻找NVIDIA深度学习AMI。选择的NVIDIA深度学习AMI是专为使用NVIDIA NGC容器和最新的gpu,包括安培NVIDIA gpu。

图5:找到英伟达在AWS市场深度学习AMI

图6:选择启用NVIDIA GPU实例

请注意:并不是所有的可用性区域提供P3实例。你的可用性区域被定义在设置虚拟私有云(VPC)。

配置实例,添加存储,并添加标签页面,根据需要配置您的实例。如果有必要,选择合适或创建安全组实例配置安全组页面。

一旦配置完成,选择适当的密钥对的选择和启动您的实例。确保你得到你的私钥,这样你可以登录到您的实例。

图7:选择的公共密钥对EC2实例

点击视图实例并选择运行实例一旦完成初始化。复制公共IPv4 DNS地址点击复制图标。

图8:定位和复制的公共IPc4 DNS EC2仪表板

使用腻子连接EC2实例

SSH隧道客户端机器之间创建一个加密的通道和容器会话以便所有通信是安全的。你必须做这个访问容器的桌面在EC2实例中运行。

使用腻子连接码头工人主机实例通过类别:会话>主机名(或IP地址),进入“ubuntu@(你的公共IPv4 DNS地址)

图9:配置的主机名腻子终端

去类别:SSH连接> > Auth并导航到私钥的EC2实例的位置。

图10:选择腻子接线柱的私钥对

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

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

通过VNC客户机连接,建立一个隧道的集装箱港口5901。

  • 源端口字段中,输入一个自由港在客户端机器上从5900年开始,例如5901。
  • 在目标字段中,输入相关的主机端口,您连接到容器端口5901上运行的容器,例如,localhost: 5901。请注意,您必须使用本地主机,而不是主机实例的名称。

图11:设置源和目的地港口的腻子终端

如果您使用多个容器或者运行一个VNC服务器安装在客户端机器上,你必须增加源端口在客户端机器上,直到你找到一个免费的端口,例如5902或6081。

单击Open,单击yes腻子安全警报,因为它只是确认你想连接到主机。

拉&运行MATLAB容器从NGC目录

复制将容器形象发布命令MATLAB的着陆页的NVIDIA NGC目录。容器在标记部分,定位图像发布你想要运行。在拉列,单击图标复制码头工人拉命令。该命令的形式:

码头工人拉nvcr.io /合作伙伴/ matlab: r20XYz

的标签r20XYz必须更换特定MATLAB版本的名字,例如r2021a。确保的最后一部分将命令与MATLAB发布你想使用。

图12:复制码头工人把命令从MATLAB NGC目录页面

粘贴码头工人拉命令到您的SSH客户机,您的EC2实例上运行命令。你不需要登录到NVIDIA容器注册表把容器的形象。

图13:粘贴腻子的码头工人把命令终端

运行码头工人拉命令下载MATLAB图像容器(~ 9 gb)到主机EC2的机器。它可能需要一些时间下载和提取大型容器的形象。你只需要把容器每次EC2实例。

运行MATLAB深度学习的容器通过复制它MATLAB NGC着陆页:

图14:码头工人从MATLAB运行命令NGC目录页面

确保运行命令的最后一部分匹配MATLAB发布你想使用。

选项- p hostport: containerport映射端口在集装箱港口的码头工人主机,这样您就可以连接到容器的桌面。容器中使用的端口5901 (VNC连接)和6080 (web浏览器连接)。如果你是在同一个主机上部署多个容器实例,你必须增加主机端口,直到你找到一个免费的端口。例如:

- p 5902:5901 - p 6081:6080

码头工人把命令粘贴到腻子,EC2实例上运行命令。你不需要登录到NVIDIA容器注册表把容器的形象。

图15:粘贴腻子的码头工人把命令终端

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

有三种方法来访问容器中的MATLAB,但是我们将使用web浏览器。请参考文档如果你想访问MATLAB命令行界面或VNC客户机容器。

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

http://localhost: 6080

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

如果你增加客户端端口安全地连接使用适当的主机端口号,比如6081。

您将看到一个登录屏幕noVNC。单击连接。当您被提示输入密码来访问桌面,使用密码:

matlab

MathWorks.com登录到您的帐户

MATLAB运行通过桌面图标和登录使用您MathWorks帐户。

图16:启动MATLAB桌面的web浏览器

如果你不能使用你的MathWorks账户登录,检查你的账户连接到云配置使用的许可证。检查,请访问授权中心

图17:在提示符中输入MathWorks帐户凭据

图18:MATLAB桌面的web浏览器

运行一个MATLAB深度学习的例子

测试你的容器,您可以运行创建简单的深度学习网络分类(深度学习工具箱)的例子。尝试这个例子中,双击该文件MNISTExample.mlx在当前文件夹窗格在MATLAB启动文件夹中。

图19:运行MNIST例子来测试深度学习的设置

MATLAB支金宝app持使用多个gpu并行训练一个网络。使multi-GPU MATLAB深度学习培训容器,使用trainingOptions函数来设置的ExecutionEnvironment”到“multi-gpu”。更多的培训选择使用多个GPU看到深度学习与MATLAB在多个gpu

观察网络的训练进展的生活情节以及验证准确性,损失和时间。

图20:培训发展情节MNIST例子

恭喜你!你准备转移到更复杂的人工智能的例子使用MATLAB, NGC, AWS和NVIDIA gpu。

MATLAB访问文档找到许多深度学习的例子和访问pretrained模型继续在你的AI的旅程。

请注意:那你按以下步骤在您选择的CSP实例上运行容器,以及在您的本地系统。

接下来是什么

开始下载MATLAB容器从NGC目录页面

看到MATLAB容器文档额外的话题,例如:

  • MATLAB NGC容器在NVIDIA帕特系统运行
  • 导入和导出数据到AWS S3
  • MATLAB许可选项
  • 在MATLAB NGC容器安装工具箱和附件
  • 使用VNC客户机连接到MATLAB

同时,一个新的MATLAB R2021a NGC容器很快将用于支持NVIDIA安培最新CUDA 11.0金宝app和7.2 TensorRT。x库,所以请继续关注。

|
  • 打印
  • 发送电子邮件

评论

留下你的评论,请点击在这里MathWorks账户登录或创建一个新的。