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

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

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

NVIDIA TensorRT 是 NVIDIA 推出的深度学习推理的框架,也可以理解为一个优化器。它能够以更低延迟、高吞吐率来部署推理模型到嵌入式平台。这个框架可以将 Caffe,TensorFlow 的网络模型解析,然后与 TensorRT 中对应的层进行一一映射,把其他框架的模型统一全部转换到 TensorRT 中,然后在 TensorRT 中可以针对NVIDIA 自家的 GPU 实施优化策略,并进行部署加速。TensorRT 已经能够支持 TensorFlow、Caffe、Mxnet、Pytorch、Darknet 等深度学习框架,这里我们用到的正是基于Darknet的Yolo。TensorRT可以直接解析他们的网络模型;对于caffe2,pytorch,mxnet等框架则是首先要将模型转为 ONNX 的通用深度学习模型,然后对 ONNX模型做解析。而 Tensorflow 和 MATLAB 已经将 TensorRT 集成到框架中去了。具体参考:

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

https://developer.nvidia.com/tensorrt

DeepStream

NVIDIA DeepStream SDK 提供了完整的流分析工具包,可用于基于 AI 的视频和图像分析。实时分析来自摄像头或传感器或物联网网关的数据。底层基于 GStreamer 实现低延迟和高吞吐量。还可以将消息代理如 Kafka 和 MQTT 将边缘集成到云中。在 NVIDIA 平台上的设备上可以加速 H.264 和 H.265 视频解码 ,来构建端到端 AI 驱动的应用程序比如:零售分析,停车管理,物流管理,光学检查和缺陷检测等。具体参考:

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

https://developer.nvidia.com/deepstream-sdk

Jetson Nano 可实时处理多达 8 个高清全运动视频流,可作为用于网络录像机 (NVR)、智能摄像机和 IoT 网关的低功耗边缘智能视频分析平台进行部署。NVIDIA 的 DeepStream SDK 使用 ZeroCopy 和 TensorRT 优化端到端推断管道,以实现边缘和本地服务器的终极性能。下图就是我跑的示例代码,显示 Jetson Nano 在 8 个 1080p 流上执行物体检测,同时基于 ResNet 的模型以全分辨率运行,吞吐量为 500MP/s,解码率为 500 MP/s (H.264/H.265)和视频编码率(250 MP/s)H.264/H.265. 具体请参考链接:

https://devblogs.nvidia.com/jetson-nano-ai-computing/

Run Sample Code

这一点很重要,我们要先把示例代码跑通。

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

当我们通过 SDK Manager 将 DeepStream 成功烧录系统后,在路径在opt:/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/ 运行nano.txt 的Demo code,如果运行成功,那么 Jetson Nano 平台的推理环境就部署成功了。步骤 5 就是我们通过 DeepStream 的 Demo code 运行成功的截图。

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

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

首先找到在 Sagemaker 上定义好的 output_path,将 S3 上的模型文件导出到 Jetson Nano 上。解压后的模型文件比如 yolov3-tiny-xxx.weights。

这个时候把模型导入到 Jetson Nano 上是不能直接运行的。即使直接运行也没有通过 TensorRT 和 DeepStream 做优化和加速,Jetson Nano 上如果不使用 TensorRT 加速,则会大大降低 yolo 的推理速度,例如yolo v3<1fps,yolov3 tiny<8fps,所以需要以下三步操作:

跑通 deepstream_reference_apps的yolov3-tiny应用

交叉编译

参数修改

测试

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

最终,测试我们的程序即可。

其实整个实验过程还是比较久的,由于篇幅原因我们不会扩展开每一个步骤的实现方法,这里先抛个最终实现的效果图。这个就是通过云端的 Sagemaker 服务做训练然后通过 NVIDIA 的 TensorRT 和 DeepStream 实现实时的目标检测。

边缘智能随着低功耗和低成本的 AI 芯片普及,越来越多的企业关注智联网这个领域。边缘智能正在促成人工智能(AI)与物联网(IoT)的融合,AI 与 IoT 相辅相成:如果没有 AI ,IoT 只是收集数据的 sensor,如果没有 IoT,AI 也不会应用到边缘。AIoT 项目确实比其他单纯的一个软件或硬件的研发更加复杂,它是多学科或技术栈的融合。比如,数据的采集、分析、展现需要大数据相关的技术,边缘逻辑的推理、判断需要应用机器学习的模型,对数据加工后又要与大数据结合去 ETL 。云端的逻辑编写、OTA 升级、安全设计、设备管理也要与终端集成。另外,如果是视频流交互还涉及到编解码、流媒体等技术。

正是因为它的复杂性,我们在云端训练,在边缘推理,既利用云计算提供的服务和接口来快速原型和开发,又利用 NVIDIA 提供的 Jetson 平台,在边缘侧加速推理,提高边缘侧算力的利用率。

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

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

热点阅读