NVIDIA Jetson部署指南

在本指南中,将介绍如何将Roboflow推理服务器部署到NVIDIA Jetson硬件上,以实现边缘AI应用的高性能运行。NVIDIA Jetson系列设备专为边缘AI计算设计,通过优化驱动程序、库和二进制文件,可以充分发挥其CPU和GPU架构的性能。

支持的任务类型

Roboflow推理服务器支持以下任务类型,适用于NVIDIA Jetson设备:

  • 目标检测
  • 分类
  • 实例分割
  • 语义分割

安装步骤

为了在NVIDIA Jetson设备上实现实时加速,需要按照以下步骤操作:

确保Jetson设备已刷写Jetpack 4.5、4.6或5.1版本。可以通过以下命令检查现有版本:

git clone https://github.com/jetsonhacks/jetsonUtilities.git cd jetsonUtilities python jetsonInfo.py

接下来,使用配套的Docker容器运行Roboflow推理服务器

sudo docker run --privileged --net=host --runtime=nvidia --mount source=roboflow,target=/tmp/cache -e NUM_WORKERS=1 roboflow/roboflow-inference-server-jetson-4.5.0:latest

需要的Docker镜像取决于使用的Jetpack版本:

  • Jetpack 4.5:roboflow/roboflow-inference-server-jetson-4.5.0
  • Jetpack 4.6:roboflow/roboflow-inference-server-jetson-4.6.1
  • Jetpack 5.1:roboflow/roboflow-inference-server-jetson-5.1.1

Jetson镜像默认使用CUDA执行提供程序。要使用TensorRT,需要设置环境变量:

ONNXRUNTIME_EXECUTION_PROVIDERS=TensorrtExecutionProvider

注意,虽然使用TensorRT可以提高性能,但它也会增加额外的启动编译成本。

现在可以使用服务器对模型进行推理。以下命令展示了如何通过curl向推理API发送请求的语法:

base64 your_img.jpg | curl -d @- "http://localhost:9001/[YOUR MODEL]/[YOUR VERSION]?api_key=[YOUR API KEY]"

当第一次发送请求时,模型将在Jetson设备上编译5-10分钟。

预期性能

影响特定推理管道性能的因素有很多,包括模型大小、输入图像大小、模型输入大小、置信度阈值等。对于希望获得性能大致估计的用户,提供了以下基准测试数据:

  • 配置:模型类型为Roboflow 3.0 Fast,模型输入分辨率为640 x 640,输入图像大小为1024 x 1024,硬件为运行Jetpack 5.1.1的Jetson Orin Nano。
  • 性能:通过pip安装的Python脚本:30 FPS,向roboflow/roboflow-inference-server-jetson-5.1.1:0.9.1发送的HTTP请求:15FPS。
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485