在本指南中,将介绍如何将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版本:
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分钟。
影响特定推理管道性能的因素有很多,包括模型大小、输入图像大小、模型输入大小、置信度阈值等。对于希望获得性能大致估计的用户,提供了以下基准测试数据: