基于Jetson NX的模型部署-CSDN博客

427 阅读3分钟

Jetson NX介绍

Jetson NX是一款功能强大的边缘AI设备,它采用了紧凑型的Jetson NX模块。通过新的云原生支持,该套件可以将NVIDIA软件堆栈的性能提升至10W,这是其前身Jetson TX2的10倍以上。该套件具有精确的多模式AI推理功能,可用于开发和测试高能效、小尺寸的解决方案,为创造新的突破性产品提供了机会。

开发人员可以利用云原生支持的优势,改变将AI软件开发和部署到边缘设备的经验。NVIDIA NGC提供了经过预先训练的AI模型,并提供了NVIDIA Transfer Learning Toolkit,可以更快地训练和优化AI网络。通过将应用程序容器化部署到Jetson设备,可以实现灵活、无缝的更新。整个NVIDIA软件堆栈都支持该开发人员工具包,包括加速的SDK和最新的NVIDIA工具,用于应用程序开发和优化。

当与紧凑型Jetson NX结合使用时,这个强大的软件堆栈可以帮助开发人员为智慧城市、零售、制造业、物流、医疗保健、农业等领域创建创新的解决方案。

系统安装

为Jetson NX安装系统,系统安装过程分为3步:

  1. 下载必要的软件及镜像

Jetson Nano Developer Kit SD卡映像
developer.nvidia.com/jetson-nano…

Windows版SD存储卡格式化程序
www.sdcard.org/downloads/f…

镜像烧录工具balenaEtcher
www.balena.io/etcher

  1. 格式化SD卡并写入镜像

安装Paddle

Paddle Inference 是飞桨的原生推理库, 作用于服务器端和云端,提供高性能的推理能力,在使用之前,我们需要在Jetson Nano里安装好PaddlePaddle。

sudo apt-get install python3-pip
pip3 install --upgrade pip

pip3 install --upgrade numpy==1.16.1

cat /etc/nv_tegra_release

下载并安装与Jetpack版本对应的PaddlePaddle
在这里插入图片描述
在这里插入图片描述

下载链接: paddleinference.paddlepaddle.org.cn

测试PaddlePaddle

python3
import paddle
paddle.fluid.install_check.run_check()

在这里插入图片描述

模型准备

在部署之前,我们需要得到 Paddle 预测格式的模型: - 存储模型结构的inference.pdmodel - 存储模型参数的inference.pdiparams

获取方式有很多种,可以自己训练一个模型,并使用paddle.static.save_inference_model接口保存推理模型和参数

当然你也可以使用套件训练一个模型,然后将模型导出成推理模型,下面我们以PaddleDetection为例。

# 拉取PaddleDetection源码
git clone https://gitee.com/PaddlePaddle/PaddleDetection
# 安装依赖库
pip install pycocotools
pip install motmetrics
pip install lap

我们可以在/PaddleDetection/configs下找到很多模型,这里以ppyolo为例,选择你想导出的预训练模型。

模型权重可以在PaddleDetection的官方文档里找到。如果你想导出别的模型,直接替换下面config和weight的参数即可。

cd PaddleDetection/
python tools/export_model.py -c configs/ppyolo/ppyolo_tiny_650e_coco.yml --output_dir=./inference_model \
-o weights=https://paddledet.bj.bcebos.com/models/ppyolo_tiny_650e_coco.pdparams

推理模型准备好之后,下载到Jetson NX 即可使用。

参考资料: