加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_阳江站长网 (https://www.0662zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 传媒 > 正文

如何使用NVIDIA Jetson和Amazon SageMaker结合打造智能边缘

发布时间:2020-07-01 19:45:45 所属栏目:传媒 来源:站长网
导读:万物互联 将机器学习智能引入边缘计算 使智能计算更接近于应用程序 人工智能与边缘计算的融合与突破 势必将重新定义未来科技的发展新方向 今天,小编将带你了解如何使用 NVIDIA Jetson 和 Amazon SageMaker 结合打造智能边缘 随着物联网和 AI 芯片的发展,

万物互联

将机器学习智能引入边缘计算

使智能计算更接近于应用程序

人工智能与边缘计算的融合与突破

势必将重新定义未来科技的发展新方向

今天,小编将带你了解如何使用

NVIDIA Jetson 和 Amazon SageMaker

结合打造智能边缘

随着物联网和 AI 芯片的发展,未来将会有越来越多的数据在边缘侧处理。很多业务场景已经对边缘智能提出了明确的需求,比如自动驾驶的汽车每天会产生 5TB 的数据,而智能工厂每天产生的数据高达 1PB ,其中包含视频和传感器的数据。如果不能借助边缘智能技术而依靠 Internet 网络把数据传输至云端处理,会造成网络延迟和拥塞,影响推理结果的实时性,造成生产事故甚至于安全事故。

利用 NVIDIA Jetson 和 Amazon SageMaker 平台通过使用云+端结合的方式,我们将打造一个边缘智能的方案(整体方案架构如下)。

如何使用NVIDIA Jetson和Amazon SageMaker结合打造智能边缘

在正式了解 Amazon SageMaker 和 NVIDIA Jetson 和平台前,我们先了解一下什么是目标检测和 YOLO 。

目标检测与 YOLO

(You Only Look Once)

目标检测是计算机视觉中的一个重要分支,但由于在边缘设备或移动端中部署神经网络模型需要很大的算力或 GPU 处理能力。近年来由于边缘 AI 芯片的算力增强,再加上边缘智能有着更广泛的应用场景,围绕机器学习模型在边缘设备上的高效应用等研究课题逐步火热。

目前在目标检测领域的深度学习方法主要分为两类:一类是 two stage 的目标检测算法;另外一类是 one stage的目标检测算法。

前者是先由算法生成一系列作为样本的候选框,再通过卷积神经网络进行样本分类;后者 one stage 则不用产生候选框,直接将目标边框定位的问题转化为回归问题处理。正是由于两种方法的差异,在性能表现上也有不同,前者在检测准确率和定位精度上占优,而后者在算法推理速度上占优。最近很多 AI 公司都在做是否戴口罩的识别,实际上也是基于这两类方法。精度与速度往往在目标检测中是零和博弈,我们通过实践将两者平衡,以获得最大收益。

YOLO v3 是目标检测经典模型 YOLO 的第三代版本,因其目标识别的速度很快,被业内称为边缘的目标检测之光,它由目标检测领域的经典论文 YOLO (You Only Look Once)的两位作者——华盛顿大学的Joseph Redmon和Ali Farhadi创作。2018 年 9 月,YOLO v3 正式发布,下图是从 Focal Loss 论文中可以看出 YOLOv3 的运行速度明显快于其他性能相似的检测方法。而 Yolo V3 Tiny,是为满足嵌入式应用的场景而发布,现已成为很流行的目标检测算法,目前在主流 AI 芯片公司的产品中均有应用。在工业场景中做缺陷检测或在大众消费领域中的新零售、智能驾驶等均得到广泛的推广。关于 YOLO 的具体介绍和说明请参考:https://pjreddie.com/darknet/yolo/

如何使用NVIDIA Jetson和Amazon SageMaker结合打造智能边缘

Amazon SageMaker

Amazon SageMaker 是一项完全托管的服务,可以帮助开发人员和数据科学家快速构建、训练和部署机器学习 (ML) 模型。SageMaker 完全消除了机器学习过程中每个步骤的繁重工作,让开发高质量模型变得更加轻松。传统的 ML 开发是一个复杂、昂贵、迭代的过程,而且没有任何集成工具可用于整个机器学习工作流程,这让它难上加难。我们需要将工具和工作流程拼接在一起,这既耗时又容易出错。SageMaker 在单个工具集中提供了用于机器学习的所有组件,让这一难题迎刃而解,因此模型将可以通过更少的工作量和更低的成本更快地投入生产。

如何使用NVIDIA Jetson和Amazon SageMaker结合打造智能边缘

做训练最重要的是数据集,需要注意 darknet 的数据集的标注格式是 txt,我们要按照 PASCAL VOC 的目录结构去做图像标注,通过脚本将 xml 格式转换为txt格式的标签,结构与注释如下:

如何使用NVIDIA Jetson和Amazon SageMaker结合打造智能边缘

训练结束后我们会得到一个模型文件 weight,下一步就是如何将模型文件部署到边缘智能的开发板 NVIDIA Jetson Nano,并且通过 NVIDIA 的 TensorRT 和 DeepStream 来进行推理加速。

下面这一部分主要完成的就是设备端的工作,主要的步骤是:

Jetson Nano 环境部署

将 Sagemaker 训练的模型部署到 Jetson Nano 上

测试

Jetson 的环境部署

这里会使用到 NIVIDA 的硬件与平台相关的组件主要有:

如何使用NVIDIA Jetson和Amazon SageMaker结合打造智能边缘

Jetson Nano

Jetson Nano Developer Kit SD Card image

JetPack SDK

NVIDIA TensorRT

DeepStream

Run Sample Code

由于博客篇幅原因,我们先概况了解一下,具体可以参考后面的链接。

Jetson Nano

首先就是我们需要一个边缘智能的开发板 NVIDIA Jetson Nano,虽然是入门级,但是足以应对大部分要求算力不高的场景。Jetson Nano 介绍参考:

https://developer.nvidia.com/embedded/jetson-nano-developer-kit

Jetson Nano Developer Kit SD Card image

因为Jetson Nano的系统是内核是tegra-ubuntu 4.9.140-tegra aarch64架构,所以NVIDIA给了我们一个microSD card的镜像来烧录到板子上,但由于推理框架、库、软件、驱动等等都要遵循其架构。就导致了如果没有一个好的工具,构建一个边缘推理的环境极其复杂。所以就有了JetPack和SDK Manager。镜像烧录参考:

https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkit#write

JetPack SDK

NIVIDA JetPack 可以实现在 Jetson 平台上快速构建机器学习环境,JetPack 包括系统镜像、TensorRT、CUDA、各种库和 API、开发工具、和示例代码。我们可以利用 SDK Manager 来安装Jetson的软件环境,SDK Manager 要需要安装到一台 Ubuntu Host 主机上,然后由它来打包和推送环境到 Jetson Nano 上。

在使用 SDK Manager 部署环境之前,我们要确认完成以下工作:

Jetson Nano 必须先通过 MicroSD 卡成功启动进入 Ubuntu 界面

采用 Micro USB 链接 Nano 到 Ubuntu Host (这里需要注意的是 Host 主机如果使用虚拟机,一定要添加 USB 控制器,如果你启用 USB2.0 就链接 HOST 主机的时候使用 2.0,同理 3.0 也是一样)

Nano 连接网线到外网,且与 Ubuntu Host机器在一局域网内(Host主机如果使用虚拟机,请使用桥接模式。)

然后部署安装,部署时间取决于你 Host 主机的配置和网络情况,烧录过程中会弹出 Jetson nano 的 root 认证。具体步骤参考:

https://docs.nvidia.com/sdk-manager/install-with-sdkm-jetson/index.html#install-with-sdkm-jetson

如何使用NVIDIA Jetson和Amazon SageMaker结合打造智能边缘

NVIDIA TensorRT

(编辑:应用网_阳江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读