快速入门指南:Ultralytics YOLO11 与 NVIDIA Jetson
本综合指南详细介绍了在 NVIDIA Jetson 设备上部署 Ultralytics YOLO11 的步骤。此外,它还展示了性能基准,以展示 YOLO11 在这些小型且功能强大的设备上的性能。
新的产品支持
我们使用最新的 NVIDIA Jetson Orin Nano Super Developer Kit 更新了本指南,该套件可提供高达 67 TOPS 的 AI 性能(比其前代产品提高了 1.7 倍),从而可以无缝运行最流行的 AI 模型。
观看: 如何在 NVIDIA JETSON 设备上使用 Ultralytics YOLO11
注意
本指南已在运行最新稳定 JetPack 版本的 NVIDIA Jetson AGX Orin Developer Kit (64GB) JP6.2、运行 JetPack 版本的 NVIDIA Jetson Orin Nano Super Developer Kit JP6.1、基于 NVIDIA Jetson Orin NX 16GB 运行 JetPack 版本的 Seeed Studio reComputer J4012 JP6.0/JetPack 版本的 JP5.1.3 和基于 NVIDIA Jetson Nano 4GB 运行 JetPack 版本的 Seeed Studio reComputer J1020 v2 JP4.6.1 上进行了测试。预计它可以在包括最新和旧版在内的所有 NVIDIA Jetson 硬件系列上运行。
什么是 NVIDIA Jetson?
NVIDIA Jetson 是一系列嵌入式计算板,旨在将加速 AI(人工智能)计算引入边缘设备。这些紧凑而强大的设备围绕 NVIDIA 的 GPU 架构构建,能够直接在设备上运行复杂的 AI 算法和深度学习模型,而无需依赖云计算资源。Jetson 板通常用于机器人技术、自动驾驶汽车、工业自动化和其他需要在本地执行 AI 推理且具有低延迟和高效率的应用。此外,这些板基于 ARM64 架构,与传统的 GPU 计算设备相比,功耗更低。
NVIDIA Jetson 系列对比
Jetson Orin 是 NVIDIA Jetson 系列的最新版本,基于 NVIDIA Ampere 架构,与前几代产品相比,AI 性能得到了显着提升。下表比较了生态系统中的一些 Jetson 设备。
Jetson AGX Orin 64GB | Jetson Orin NX 16GB | Jetson Orin Nano Super | Jetson AGX Xavier | Jetson Xavier NX | Jetson Nano | |
---|---|---|---|---|---|---|
AI 性能 | 275 TOPS | 100 TOPS | 67 TOPs | 32 TOPS | 21 TOPS | 472 GFLOPS |
GPU | 2048 核 NVIDIA Ampere 架构 GPU,带 64 个 Tensor Core | 1024 核 NVIDIA Ampere 架构 GPU,带 32 个 Tensor Core | 1024 核 NVIDIA Ampere 架构 GPU,带 32 个 Tensor Core | 512 核 NVIDIA Volta 架构 GPU,带 64 个 Tensor Core | 384 核 NVIDIA Volta™ 架构 GPU,带 48 个 Tensor Core | 128核 NVIDIA Maxwell™ 架构 GPU |
GPU 最大频率 | 1.3 GHz | 918 MHz | 1020 MHz | 1377 MHz | 1100 MHz | 921MHz |
CPU | 12核 NVIDIA Arm® Cortex A78AE v8.2 64位 CPU,3MB L2 + 6MB L3 | 8核 NVIDIA Arm® Cortex A78AE v8.2 64位 CPU,2MB L2 + 4MB L3 | 6核 Arm® Cortex®-A78AE v8.2 64位 CPU,1.5MB L2 + 4MB L3 | 8核 NVIDIA Carmel Arm®v8.2 64位 CPU,8MB L2 + 4MB L3 | 6核 NVIDIA Carmel Arm®v8.2 64位 CPU,6MB L2 + 4MB L3 | 四核 Arm® Cortex®-A57 MPCore 处理器 |
CPU 最大频率 | 2.2 GHz | 2.0 GHz | 1.7 GHz | 2.2 GHz | 1.9 GHz | 1.43GHz |
内存 | 64GB 256位 LPDDR5 204.8GB/s | 16GB 128位 LPDDR5 102.4GB/s | 8GB 128-bit LPDDR5 102 GB/s | 32GB 256位 LPDDR4x 136.5GB/s | 8GB 128位 LPDDR4x 59.7GB/s | 4GB 64位 LPDDR4 25.6GB/s" |
有关更详细的比较表,请访问NVIDIA官方Jetson页面的技术规格部分。
什么是 NVIDIA JetPack?
为 Jetson 模块提供支持的 NVIDIA JetPack SDK 是最全面的解决方案,它提供了完整的开发环境,用于构建端到端加速 AI 应用程序并缩短上市时间。JetPack 包括带有引导加载程序的 Jetson Linux、Linux 内核、Ubuntu 桌面环境以及一整套用于加速 GPU 计算、多媒体、图形和计算机视觉的库。它还包括主机和开发工具包的示例、文档和开发人员工具,并支持更高级别的 SDK,例如用于流视频分析的 DeepStream、用于机器人的 Isaac 和用于会话 AI 的 Riva。
将 JetPack 刷写到 NVIDIA Jetson
获得NVIDIA Jetson设备后的第一步是将NVIDIA JetPack刷入设备。刷写NVIDIA Jetson设备有几种不同的方法。
- 如果您拥有官方的NVIDIA开发套件,例如Jetson Orin Nano开发者套件,您可以下载镜像并准备一张带有JetPack的SD卡来启动设备。
- 如果您拥有任何其他 NVIDIA 开发套件,您可以使用 SDK 管理器将 JetPack 刷入设备。
- 如果您拥有 Seeed Studio reComputer J4012 设备,您可以将 JetPack 刷入自带的 SSD;如果您拥有 Seeed Studio reComputer J1020 v2 设备,您可以将 JetPack 刷入 eMMC/SSD。
- 如果您拥有任何其他由 NVIDIA Jetson 模块驱动的第三方设备,建议按照命令行刷机的方式进行操作。
注意
对于上述方法 3 和 4,在刷入系统并启动设备后,请在设备终端上输入 "sudo apt update && sudo apt install nvidia-jetpack -y",以安装所有剩余的 JetPack 组件。
基于 Jetson 设备的 JetPack 支持
下表重点列出了不同 NVIDIA Jetson 设备支持的 NVIDIA JetPack 版本。
JetPack 4 | JetPack 5 | JetPack 6 | |
---|---|---|---|
Jetson Nano | ✅ | ❌ | ❌ |
Jetson TX2 | ✅ | ❌ | ❌ |
Jetson Xavier NX | ✅ | ✅ | ❌ |
Jetson AGX Xavier | ✅ | ✅ | ❌ |
Jetson AGX Orin | ❌ | ✅ | ✅ |
Jetson Orin NX | ❌ | ✅ | ✅ |
Jetson Orin Nano | ❌ | ✅ | ✅ |
Docker 快速入门
在 NVIDIA Jetson 上开始使用 Ultralytics YOLO11 最快的方法是运行 Jetson 的预构建 Docker 镜像。请参考上表,根据您拥有的 Jetson 设备选择 JetPack 版本。
t=ultralytics/ultralytics:latest-jetson-jetpack4
sudo docker pull $t && sudo docker run -it --ipc=host --runtime=nvidia $t
t=ultralytics/ultralytics:latest-jetson-jetpack5
sudo docker pull $t && sudo docker run -it --ipc=host --runtime=nvidia $t
t=ultralytics/ultralytics:latest-jetson-jetpack6
sudo docker pull $t && sudo docker run -it --ipc=host --runtime=nvidia $t
完成此操作后,跳至 在 NVIDIA Jetson 上使用 TensorRT 部分。
本地安装入门
对于没有 Docker 的原生安装,请参考以下步骤。
在 JetPack 6.1 上运行
安装 Ultralytics 软件包
这里我们将在 Jetson 上安装 Ultralytics 包及其可选依赖项,以便我们可以将 PyTorch 模型导出为其他不同的格式。我们将主要关注 NVIDIA TensorRT 导出,因为 TensorRT 将确保我们能够充分发挥 Jetson 设备的性能。
-
更新软件包列表,安装 pip 并升级到最新版本
sudo apt update sudo apt install python3-pip -y pip install -U pip
-
安装
ultralytics
带有可选依赖项的 pip 软件包pip install ultralytics[export]
-
重新启动设备
sudo reboot
安装 PyTorch 和 Torchvision
上述 ultralytics 安装将安装 Torch 和 Torchvision。但是,通过 pip 安装的这两个包与基于 ARM64 架构的 Jetson 平台不兼容。因此,我们需要手动安装预构建的 PyTorch pip wheel 并从源代码编译/安装 Torchvision。
安装 torch 2.5.0
和 torchvision 0.20
根据JP6.1
pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torch-2.5.0a0+872d972e41.nv24.08-cp310-cp310-linux_aarch64.whl
pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torchvision-0.20.0a0+afc54f7-cp310-cp310-linux_aarch64.whl
注意
访问 Jetson 的 PyTorch 页面 以访问适用于不同 JetPack 版本的 PyTorch 的所有不同版本。 有关 PyTorch、Torchvision 兼容性的更详细列表,请访问 PyTorch 和 Torchvision 兼容性页面。
安装 cuSPARSELt
修复与以下相关的依赖问题 torch 2.5.0
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/arm64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get -y install libcusparselt0 libcusparselt-dev
安装 onnxruntime-gpu
字段 onnxruntime-gpu PyPI 中托管的软件包没有 aarch64
Jetson 的二进制文件。因此,我们需要手动安装此软件包。某些导出需要此软件包。
您可以找到所有可用的 onnxruntime-gpu
软件包,按 JetPack 版本、python 版本和其他兼容性详细信息进行组织,位于 Jetson Zoo ONNX Runtime 兼容性矩阵。在这里,我们将下载并安装 onnxruntime-gpu 1.20.0
使用 Python3.10
支持。
pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/onnxruntime_gpu-1.20.0-cp310-cp310-linux_aarch64.whl
注意
onnxruntime-gpu
将自动恢复 numpy 版本到最新版本。因此,我们需要重新安装 numpy 到 1.23.5
通过执行以下命令来修复问题:
pip install numpy==1.23.5
在 JetPack 5.1.2 上运行
安装 Ultralytics 软件包
在这里,我们将在 Jetson 上安装 Ultralytics 包以及可选的依赖项,以便我们可以将 PyTorch 模型导出为其他不同的格式。我们将主要关注 NVIDIA TensorRT 导出,因为 TensorRT 将确保我们能够从 Jetson 设备中获得最佳性能。
-
更新软件包列表,安装 pip 并升级到最新版本
sudo apt update sudo apt install python3-pip -y pip install -U pip
-
安装
ultralytics
带有可选依赖项的 pip 软件包pip install ultralytics[export]
-
重新启动设备
sudo reboot
安装 PyTorch 和 Torchvision
上述 ultralytics 安装将安装 Torch 和 Torchvision。但是,通过 pip 安装的这两个包与基于 ARM64 架构的 Jetson 平台不兼容。因此,我们需要手动安装预构建的 PyTorch pip wheel 并从源代码编译/安装 Torchvision。
-
卸载当前安装的 PyTorch 和 Torchvision
pip uninstall torch torchvision
-
安装
torch 2.2.0
和torchvision 0.17.2
根据JP5.1.2pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torch-2.2.0-cp38-cp38-linux_aarch64.whl pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torchvision-0.17.2+c1d70fe-cp38-cp38-linux_aarch64.whl
注意
访问 Jetson 的 PyTorch 页面 以访问适用于不同 JetPack 版本的 PyTorch 的所有不同版本。 有关 PyTorch、Torchvision 兼容性的更详细列表,请访问 PyTorch 和 Torchvision 兼容性页面。
安装 onnxruntime-gpu
字段 onnxruntime-gpu PyPI 中托管的软件包没有 aarch64
Jetson 的二进制文件。因此,我们需要手动安装此软件包。某些导出需要此软件包。
您可以找到所有可用的 onnxruntime-gpu
软件包,按 JetPack 版本、python 版本和其他兼容性详细信息进行组织,位于 Jetson Zoo ONNX Runtime 兼容性矩阵。在这里,我们将下载并安装 onnxruntime-gpu 1.17.0
使用 Python3.8
支持。
wget https://nvidia.box.com/shared/static/zostg6agm00fb6t5uisw51qi6kpcuwzd.whl -O onnxruntime_gpu-1.17.0-cp38-cp38-linux_aarch64.whl
pip install onnxruntime_gpu-1.17.0-cp38-cp38-linux_aarch64.whl
注意
onnxruntime-gpu
将自动恢复 numpy 版本到最新版本。因此,我们需要重新安装 numpy 到 1.23.5
通过执行以下命令来修复问题:
pip install numpy==1.23.5
在 NVIDIA Jetson 上使用 TensorRT
在 Ultralytics 支持的所有模型导出格式中,TensorRT 在 NVIDIA Jetson 设备上提供最高的推理性能,使其成为我们对 Jetson 部署的首要推荐。有关设置说明和高级用法,请参阅我们专门的 TensorRT 集成指南。
将模型转换为 TensorRT 并运行推理
PyTorch 格式的 YOLO11n 模型被转换为 TensorRT,以使用导出的模型运行推理。
示例
from ultralytics import YOLO
# Load a YOLO11n PyTorch model
model = YOLO("yolo11n.pt")
# Export the model to TensorRT
model.export(format="engine") # creates 'yolo11n.engine'
# Load the exported TensorRT model
trt_model = YOLO("yolo11n.engine")
# Run inference
results = trt_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TensorRT format
yolo export model=yolo11n.pt format=engine # creates 'yolo11n.engine'
# Run inference with the exported model
yolo predict model=yolo11n.engine source='https://ultralytics.com/images/bus.jpg'
注意
访问导出页面以访问将模型导出为不同模型格式时的其他参数
使用 NVIDIA 深度学习加速器 (DLA)
NVIDIA 深度学习加速器 (DLA) 是一种内置于 NVIDIA Jetson 设备中的专用硬件组件,可优化深度学习推理,从而提高能效和性能。通过将任务从 GPU 卸载(从而释放 GPU 以进行更密集的处理),DLA 使模型能够以更低的功耗运行,同时保持高吞吐量,这非常适合嵌入式系统和实时 AI 应用。
以下 Jetson 设备配备了 DLA 硬件:
Jetson 设备 | DLA 核心 | DLA 最大频率 |
---|---|---|
Jetson AGX Orin 系列 | 2 | 1.6 GHz |
Jetson Orin NX 16GB | 2 | 614 MHz |
Jetson Orin NX 8GB | 1 | 614 MHz |
Jetson AGX Xavier 系列 | 2 | 1.4 GHz |
Jetson Xavier NX 系列 | 2 | 1.1 GHz |
示例
from ultralytics import YOLO
# Load a YOLO11n PyTorch model
model = YOLO("yolo11n.pt")
# Export the model to TensorRT with DLA enabled (only works with FP16 or INT8)
model.export(format="engine", device="dla:0", half=True) # dla:0 or dla:1 corresponds to the DLA cores
# Load the exported TensorRT model
trt_model = YOLO("yolo11n.engine")
# Run inference
results = trt_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TensorRT format with DLA enabled (only works with FP16 or INT8)
# Once DLA core number is specified at export, it will use the same core at inference
yolo export model=yolo11n.pt format=engine device="dla:0" half=True # dla:0 or dla:1 corresponds to the DLA cores
# Run inference with the exported model on the DLA
yolo predict model=yolo11n.engine source='https://ultralytics.com/images/bus.jpg'
注意
当使用 DLA 导出时,某些层可能不支持在 DLA 上运行,并将回退到 GPU 执行。这种回退会引入额外的延迟,并影响整体推理性能。因此,与完全在 GPU 上运行的 TensorRT 相比,DLA 的主要目的不是减少推理延迟,而是提高吞吐量和提高能源效率。
NVIDIA Jetson Orin YOLO11 基准测试
Ultralytics 团队在 10 种不同的模型格式上运行了 YOLO11 基准测试,测量了速度和 准确性:PyTorch、TorchScript、ONNX、OpenVINO、TensorRT、TF SavedModel、TF GraphDef、TF Lite、MNN、NCNN。基准测试在 NVIDIA Jetson AGX Orin Developer Kit (64GB)、NVIDIA Jetson Orin Nano Super Developer Kit 和 Seeed Studio reComputer J4012(由 Jetson Orin NX 16GB 设备驱动)上以 FP32 精度运行,默认输入图像大小为 640。
对比图表
即使所有模型导出都可以在 NVIDIA Jetson 上运行,但我们仅在下面的比较图表中包含了 PyTorch、TorchScript、TensorRT,因为它们利用了 Jetson 上的 GPU,并且保证能够产生最佳结果。所有其他导出仅利用 CPU,并且性能不如以上三种。您可以在此图表后面的部分中找到所有导出的基准。
NVIDIA Jetson AGX Orin 开发者套件 (64GB)

NVIDIA Jetson Orin Nano Super Developer Kit

NVIDIA Jetson Orin NX 16GB

详细的对比表格
下表显示了五种不同模型(YOLO11n、YOLO11s、YOLO11m、YOLO11l、YOLO11x)在十种不同格式(PyTorch、TorchScript、ONNX、OpenVINO、TensorRT、TF SavedModel、TF GraphDef、TF Lite、MNN、NCNN)中的基准测试结果,从而为我们提供了每种组合的状态、大小、mAP50-95(B) 指标和推理时间。
NVIDIA Jetson AGX Orin 开发者套件 (64GB)
性能
格式 | 状态 | 磁盘占用空间 (MB) | mAP50-95(B) | 推理时间 (ms/im) |
---|---|---|---|---|
PyTorch | ✅ | 5.4 | 0.5101 | 9.40 |
TorchScript | ✅ | 10.5 | 0.5083 | 11.00 |
ONNX | ✅ | 10.2 | 0.5077 | 48.32 |
OpenVINO | ✅ | 10.4 | 0.5058 | 27.24 |
TensorRT (FP32) | ✅ | 12.1 | 0.5085 | 3.93 |
TensorRT (FP16) | ✅ | 8.3 | 0.5063 | 2.55 |
TensorRT (INT8) | ✅ | 5.4 | 0.4719 | 2.18 |
TF SavedModel | ✅ | 25.9 | 0.5077 | 66.87 |
TF GraphDef | ✅ | 10.3 | 0.5077 | 65.68 |
TF Lite | ✅ | 10.3 | 0.5077 | 272.92 |
MNN | ✅ | 10.1 | 0.5059 | 36.33 |
NCNN | ✅ | 10.2 | 0.5031 | 28.51 |
格式 | 状态 | 磁盘占用空间 (MB) | mAP50-95(B) | 推理时间 (ms/im) |
---|---|---|---|---|
PyTorch | ✅ | 18.4 | 0.5783 | 12.10 |
TorchScript | ✅ | 36.5 | 0.5782 | 11.01 |
ONNX | ✅ | 36.3 | 0.5782 | 107.54 |
OpenVINO | ✅ | 36.4 | 0.5810 | 55.03 |
TensorRT (FP32) | ✅ | 38.1 | 0.5781 | 6.52 |
TensorRT (FP16) | ✅ | 21.4 | 0.5803 | 3.65 |
TensorRT (INT8) | ✅ | 12.1 | 0.5735 | 2.81 |
TF SavedModel | ✅ | 91.0 | 0.5782 | 132.73 |
TF GraphDef | ✅ | 36.4 | 0.5782 | 134.96 |
TF Lite | ✅ | 36.3 | 0.5782 | 798.21 |
MNN | ✅ | 36.2 | 0.5777 | 82.35 |
NCNN | ✅ | 36.2 | 0.5784 | 56.07 |
格式 | 状态 | 磁盘占用空间 (MB) | mAP50-95(B) | 推理时间 (ms/im) |
---|---|---|---|---|
PyTorch | ✅ | 38.8 | 0.6265 | 22.20 |
TorchScript | ✅ | 77.3 | 0.6307 | 21.47 |
ONNX | ✅ | 76.9 | 0.6307 | 270.89 |
OpenVINO | ✅ | 77.1 | 0.6284 | 129.10 |
TensorRT (FP32) | ✅ | 78.8 | 0.6306 | 12.53 |
TensorRT (FP16) | ✅ | 41.9 | 0.6305 | 6.25 |
TensorRT (INT8) | ✅ | 23.2 | 0.6291 | 4.69 |
TF SavedModel | ✅ | 192.7 | 0.6307 | 299.95 |
TF GraphDef | ✅ | 77.1 | 0.6307 | 310.58 |
TF Lite | ✅ | 77.0 | 0.6307 | 2400.54 |
MNN | ✅ | 76.8 | 0.6308 | 213.56 |
NCNN | ✅ | 76.8 | 0.6284 | 141.18 |
格式 | 状态 | 磁盘占用空间 (MB) | mAP50-95(B) | 推理时间 (ms/im) |
---|---|---|---|---|
PyTorch | ✅ | 49.0 | 0.6364 | 27.70 |
TorchScript | ✅ | 97.6 | 0.6399 | 27.94 |
ONNX | ✅ | 97.0 | 0.6409 | 345.47 |
OpenVINO | ✅ | 97.3 | 0.6378 | 161.93 |
TensorRT (FP32) | ✅ | 99.1 | 0.6406 | 16.11 |
TensorRT (FP16) | ✅ | 52.6 | 0.6376 | 8.08 |
TensorRT (INT8) | ✅ | 30.8 | 0.6208 | 6.12 |
TF SavedModel | ✅ | 243.1 | 0.6409 | 390.78 |
TF GraphDef | ✅ | 97.2 | 0.6409 | 398.76 |
TF Lite | ✅ | 97.1 | 0.6409 | 3037.05 |
MNN | ✅ | 96.9 | 0.6372 | 265.46 |
NCNN | ✅ | 96.9 | 0.6364 | 179.68 |
格式 | 状态 | 磁盘占用空间 (MB) | mAP50-95(B) | 推理时间 (ms/im) |
---|---|---|---|---|
PyTorch | ✅ | 109.3 | 0.7005 | 44.40 |
TorchScript | ✅ | 218.1 | 0.6898 | 47.49 |
ONNX | ✅ | 217.5 | 0.6900 | 682.98 |
OpenVINO | ✅ | 217.8 | 0.6876 | 298.15 |
TensorRT (FP32) | ✅ | 219.6 | 0.6904 | 28.50 |
TensorRT (FP16) | ✅ | 112.2 | 0.6887 | 13.55 |
TensorRT (INT8) | ✅ | 60.0 | 0.6574 | 9.40 |
TF SavedModel | ✅ | 544.3 | 0.6900 | 749.85 |
TF GraphDef | ✅ | 217.7 | 0.6900 | 753.86 |
TF Lite | ✅ | 217.6 | 0.6900 | 6603.27 |
MNN | ✅ | 217.3 | 0.6868 | 519.77 |
NCNN | ✅ | 217.3 | 0.6849 | 298.58 |
使用 Ultralytics 8.3.157 进行基准测试
注意
推理时间不包括预处理/后处理。
NVIDIA Jetson Orin Nano Super Developer Kit
性能
格式 | 状态 | 磁盘占用空间 (MB) | mAP50-95(B) | 推理时间 (ms/im) |
---|---|---|---|---|
PyTorch | ✅ | 5.4 | 0.5101 | 13.70 |
TorchScript | ✅ | 10.5 | 0.5082 | 13.69 |
ONNX | ✅ | 10.2 | 0.5081 | 14.47 |
OpenVINO | ✅ | 10.4 | 0.5058 | 56.66 |
TensorRT (FP32) | ✅ | 12.0 | 0.5081 | 7.44 |
TensorRT (FP16) | ✅ | 8.2 | 0.5061 | 4.53 |
TensorRT (INT8) | ✅ | 5.4 | 0.4825 | 3.70 |
TF SavedModel | ✅ | 25.9 | 0.5077 | 116.23 |
TF GraphDef | ✅ | 10.3 | 0.5077 | 114.92 |
TF Lite | ✅ | 10.3 | 0.5077 | 340.75 |
MNN | ✅ | 10.1 | 0.5059 | 76.26 |
NCNN | ✅ | 10.2 | 0.5031 | 45.03 |
格式 | 状态 | 磁盘占用空间 (MB) | mAP50-95(B) | 推理时间 (ms/im) |
---|---|---|---|---|
PyTorch | ✅ | 18.4 | 0.5790 | 20.90 |
TorchScript | ✅ | 36.5 | 0.5781 | 21.22 |
ONNX | ✅ | 36.3 | 0.5781 | 25.07 |
OpenVINO | ✅ | 36.4 | 0.5810 | 122.98 |
TensorRT (FP32) | ✅ | 37.9 | 0.5783 | 13.02 |
TensorRT (FP16) | ✅ | 21.8 | 0.5779 | 6.93 |
TensorRT (INT8) | ✅ | 12.2 | 0.5735 | 5.08 |
TF SavedModel | ✅ | 91.0 | 0.5782 | 250.65 |
TF GraphDef | ✅ | 36.4 | 0.5782 | 252.69 |
TF Lite | ✅ | 36.3 | 0.5782 | 998.68 |
MNN | ✅ | 36.2 | 0.5781 | 188.01 |
NCNN | ✅ | 36.2 | 0.5784 | 101.37 |
格式 | 状态 | 磁盘占用空间 (MB) | mAP50-95(B) | 推理时间 (ms/im) |
---|---|---|---|---|
PyTorch | ✅ | 38.8 | 0.6266 | 46.50 |
TorchScript | ✅ | 77.3 | 0.6307 | 47.95 |
ONNX | ✅ | 76.9 | 0.6307 | 53.06 |
OpenVINO | ✅ | 77.1 | 0.6284 | 301.63 |
TensorRT (FP32) | ✅ | 78.8 | 0.6305 | 27.86 |
TensorRT (FP16) | ✅ | 41.7 | 0.6309 | 13.50 |
TensorRT (INT8) | ✅ | 23.2 | 0.6291 | 9.12 |
TF SavedModel | ✅ | 192.7 | 0.6307 | 622.24 |
TF GraphDef | ✅ | 77.1 | 0.6307 | 628.74 |
TF Lite | ✅ | 77.0 | 0.6307 | 2997.93 |
MNN | ✅ | 76.8 | 0.6299 | 509.96 |
NCNN | ✅ | 76.8 | 0.6284 | 292.99 |
格式 | 状态 | 磁盘占用空间 (MB) | mAP50-95(B) | 推理时间 (ms/im) |
---|---|---|---|---|
PyTorch | ✅ | 49.0 | 0.6364 | 56.50 |
TorchScript | ✅ | 97.6 | 0.6409 | 62.51 |
ONNX | ✅ | 97.0 | 0.6399 | 68.35 |
OpenVINO | ✅ | 97.3 | 0.6378 | 376.03 |
TensorRT (FP32) | ✅ | 99.2 | 0.6396 | 35.59 |
TensorRT (FP16) | ✅ | 52.1 | 0.6361 | 17.48 |
TensorRT (INT8) | ✅ | 30.9 | 0.6207 | 11.87 |
TF SavedModel | ✅ | 243.1 | 0.6409 | 807.47 |
TF GraphDef | ✅ | 97.2 | 0.6409 | 822.88 |
TF Lite | ✅ | 97.1 | 0.6409 | 3792.23 |
MNN | ✅ | 96.9 | 0.6372 | 631.16 |
NCNN | ✅ | 96.9 | 0.6364 | 350.46 |
格式 | 状态 | 磁盘占用空间 (MB) | mAP50-95(B) | 推理时间 (ms/im) |
---|---|---|---|---|
PyTorch | ✅ | 109.3 | 0.7005 | 90.00 |
TorchScript | ✅ | 218.1 | 0.6901 | 113.40 |
ONNX | ✅ | 217.5 | 0.6901 | 122.94 |
OpenVINO | ✅ | 217.8 | 0.6876 | 713.1 |
TensorRT (FP32) | ✅ | 219.5 | 0.6904 | 66.93 |
TensorRT (FP16) | ✅ | 112.2 | 0.6892 | 32.58 |
TensorRT (INT8) | ✅ | 61.5 | 0.6612 | 19.90 |
TF SavedModel | ✅ | 544.3 | 0.6900 | 1605.4 |
TF GraphDef | ✅ | 217.8 | 0.6900 | 2961.8 |
TF Lite | ✅ | 217.6 | 0.6900 | 8234.86 |
MNN | ✅ | 217.3 | 0.6893 | 1254.18 |
NCNN | ✅ | 217.3 | 0.6849 | 725.50 |
使用 Ultralytics 8.3.157 进行基准测试
注意
推理时间不包括预处理/后处理。
NVIDIA Jetson Orin NX 16GB
性能
格式 | 状态 | 磁盘占用空间 (MB) | mAP50-95(B) | 推理时间 (ms/im) |
---|---|---|---|---|
PyTorch | ✅ | 5.4 | 0.5101 | 12.90 |
TorchScript | ✅ | 10.5 | 0.5082 | 13.17 |
ONNX | ✅ | 10.2 | 0.5081 | 15.43 |
OpenVINO | ✅ | 10.4 | 0.5058 | 39.80 |
TensorRT (FP32) | ✅ | 11.8 | 0.5081 | 7.94 |
TensorRT (FP16) | ✅ | 8.1 | 0.5085 | 4.73 |
TensorRT (INT8) | ✅ | 5.4 | 0.4786 | 3.90 |
TF SavedModel | ✅ | 25.9 | 0.5077 | 88.48 |
TF GraphDef | ✅ | 10.3 | 0.5077 | 86.67 |
TF Lite | ✅ | 10.3 | 0.5077 | 302.55 |
MNN | ✅ | 10.1 | 0.5059 | 52.73 |
NCNN | ✅ | 10.2 | 0.5031 | 32.04 |
格式 | 状态 | 磁盘占用空间 (MB) | mAP50-95(B) | 推理时间 (ms/im) |
---|---|---|---|---|
PyTorch | ✅ | 18.4 | 0.5790 | 21.70 |
TorchScript | ✅ | 36.5 | 0.5781 | 22.71 |
ONNX | ✅ | 36.3 | 0.5781 | 26.49 |
OpenVINO | ✅ | 36.4 | 0.5810 | 84.73 |
TensorRT (FP32) | ✅ | 37.8 | 0.5783 | 13.77 |
TensorRT (FP16) | ✅ | 21.2 | 0.5796 | 7.31 |
TensorRT (INT8) | ✅ | 12.0 | 0.5735 | 5.33 |
TF SavedModel | ✅ | 91.0 | 0.5782 | 185.06 |
TF GraphDef | ✅ | 36.4 | 0.5782 | 186.45 |
TF Lite | ✅ | 36.3 | 0.5782 | 882.58 |
MNN | ✅ | 36.2 | 0.5775 | 126.36 |
NCNN | ✅ | 36.2 | 0.5784 | 66.73 |
格式 | 状态 | 磁盘占用空间 (MB) | mAP50-95(B) | 推理时间 (ms/im) |
---|---|---|---|---|
PyTorch | ✅ | 38.8 | 0.6266 | 45.00 |
TorchScript | ✅ | 77.3 | 0.6307 | 51.87 |
ONNX | ✅ | 76.9 | 0.6307 | 56.00 |
OpenVINO | ✅ | 77.1 | 0.6284 | 202.69 |
TensorRT (FP32) | ✅ | 78.7 | 0.6305 | 30.38 |
TensorRT (FP16) | ✅ | 41.8 | 0.6302 | 14.48 |
TensorRT (INT8) | ✅ | 23.2 | 0.6291 | 9.74 |
TF SavedModel | ✅ | 192.7 | 0.6307 | 445.58 |
TF GraphDef | ✅ | 77.1 | 0.6307 | 460.94 |
TF Lite | ✅ | 77.0 | 0.6307 | 2653.65 |
MNN | ✅ | 76.8 | 0.6308 | 339.38 |
NCNN | ✅ | 76.8 | 0.6284 | 187.64 |
格式 | 状态 | 磁盘占用空间 (MB) | mAP50-95(B) | 推理时间 (ms/im) |
---|---|---|---|---|
PyTorch | ✅ | 49.0 | 0.6364 | 56.60 |
TorchScript | ✅ | 97.6 | 0.6409 | 66.72 |
ONNX | ✅ | 97.0 | 0.6399 | 71.92 |
OpenVINO | ✅ | 97.3 | 0.6378 | 254.17 |
TensorRT (FP32) | ✅ | 99.2 | 0.6406 | 38.89 |
TensorRT (FP16) | ✅ | 51.9 | 0.6363 | 18.59 |
TensorRT (INT8) | ✅ | 30.9 | 0.6207 | 12.60 |
TF SavedModel | ✅ | 243.1 | 0.6409 | 575.98 |
TF GraphDef | ✅ | 97.2 | 0.6409 | 583.79 |
TF Lite | ✅ | 97.1 | 0.6409 | 3353.41 |
MNN | ✅ | 96.9 | 0.6367 | 421.33 |
NCNN | ✅ | 96.9 | 0.6364 | 228.26 |
格式 | 状态 | 磁盘占用空间 (MB) | mAP50-95(B) | 推理时间 (ms/im) |
---|---|---|---|---|
PyTorch | ✅ | 109.3 | 0.7005 | 98.50 |
TorchScript | ✅ | 218.1 | 0.6901 | 123.03 |
ONNX | ✅ | 217.5 | 0.6901 | 129.55 |
OpenVINO | ✅ | 217.8 | 0.6876 | 483.44 |
TensorRT (FP32) | ✅ | 219.6 | 0.6904 | 75.92 |
TensorRT (FP16) | ✅ | 112.1 | 0.6885 | 35.78 |
TensorRT (INT8) | ✅ | 61.6 | 0.6592 | 21.60 |
TF SavedModel | ✅ | 544.3 | 0.6900 | 1120.43 |
TF GraphDef | ✅ | 217.7 | 0.6900 | 1172.35 |
TF Lite | ✅ | 217.6 | 0.6900 | 7283.63 |
MNN | ✅ | 217.3 | 0.6877 | 840.16 |
NCNN | ✅ | 217.3 | 0.6849 | 474.41 |
使用 Ultralytics 8.3.157 进行基准测试
注意
推理时间不包括预处理/后处理。
浏览 Seeed Studio 在不同版本的 NVIDIA Jetson 硬件上运行的更多基准测试。
复现我们的结果
要在所有导出格式上重现上述 Ultralytics 基准测试,请运行以下代码:
示例
from ultralytics import YOLO
# Load a YOLO11n PyTorch model
model = YOLO("yolo11n.pt")
# Benchmark YOLO11n speed and accuracy on the COCO128 dataset for all all export formats
results = model.benchmark(data="coco128.yaml", imgsz=640)
# Benchmark YOLO11n speed and accuracy on the COCO128 dataset for all all export formats
yolo benchmark model=yolo11n.pt data=coco128.yaml imgsz=640
请注意,基准测试结果可能因系统的具体硬件和软件配置以及运行基准测试时系统的当前工作负载而异。为了获得最可靠的结果,请使用包含大量图像的数据集,例如: data='coco.yaml'
(5000 张验证图像)。
使用 NVIDIA Jetson 时的最佳实践
使用 NVIDIA Jetson 时,应遵循一些最佳实践,以在运行 YOLO11 的 NVIDIA Jetson 上实现最佳性能。
-
启用 MAX 功率模式
在 Jetson 上启用 MAX 功率模式将确保所有 CPU、GPU 核心都已打开。
sudo nvpmodel -m 0
-
启用 Jetson 时钟
启用 Jetson 时钟将确保所有 CPU、GPU 核心都以其最大频率进行时钟频率。
sudo jetson_clocks
-
安装 Jetson Stats 应用程序
我们可以使用 jetson stats 应用程序来监控系统组件的温度,并检查其他系统详细信息,例如查看 CPU、GPU、RAM 使用率,更改电源模式,设置为最大时钟,检查 JetPack 信息。
sudo apt update sudo pip install jetson-stats sudo reboot jtop
下一步
恭喜您在 NVIDIA Jetson 上成功设置 YOLO11!如需更多学习和支持,请访问 Ultralytics YOLO11 文档 中的更多指南!
常见问题
如何在 NVIDIA Jetson 设备上部署 Ultralytics YOLO11?
在 NVIDIA Jetson 设备上部署 Ultralytics YOLO11 是一个简单的过程。首先,使用 NVIDIA JetPack SDK 刷写您的 Jetson 设备。然后,可以使用预构建的 Docker 镜像进行快速设置,或者手动安装所需的软件包。有关每种方法的详细步骤,请参见Docker 快速入门和原生安装入门部分。
在 NVIDIA Jetson 设备上,YOLO11 模型的性能基准测试结果如何?
YOLO11 模型已在各种 NVIDIA Jetson 设备上进行了基准测试,显示出显著的性能提升。例如,TensorRT 格式提供了最佳的推理性能。 详细对比表格 部分中的表格提供了关于不同模型格式的 mAP50-95 和推理时间等性能指标的全面视图。
为什么应该使用 TensorRT 在 NVIDIA Jetson 上部署 YOLO11?
强烈建议使用 TensorRT 在 NVIDIA Jetson 上部署 YOLO11 模型,因为它具有最佳性能。它通过利用 Jetson 的 GPU 功能来加速推理,从而确保最高的效率和速度。在在 NVIDIA Jetson 上使用 TensorRT部分中了解更多关于如何转换为 TensorRT 并运行推理的信息。
如何在 NVIDIA Jetson 上安装 PyTorch 和 Torchvision?
要在 NVIDIA Jetson 上安装 PyTorch 和 Torchvision,首先卸载任何可能通过 pip 安装的现有版本。然后,手动为 Jetson 的 ARM64 架构安装兼容的 PyTorch 和 Torchvision 版本。有关此过程的详细说明,请参见安装 PyTorch 和 Torchvision部分。
在使用 YOLO11 时,在 NVIDIA Jetson 上实现最佳性能的最佳实践是什么?
为了在使用 YOLO11 的 NVIDIA Jetson 上实现最佳性能,请遵循以下最佳实践:
- 启用 MAX Power Mode 以利用所有 CPU 和 GPU 核心。
- 启用 Jetson Clocks 以在最大频率下运行所有核心。
- 安装 Jetson Stats 应用程序以监控系统指标。
有关命令和其他详细信息,请参阅使用 NVIDIA Jetson 时的最佳实践部分。