跳转至内容

快速入门指南: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

NVIDIA Jetson 生态系统

注意

本指南已在运行最新稳定 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设备有几种不同的方法。

  1. 如果您拥有官方的NVIDIA开发套件,例如Jetson Orin Nano开发者套件,您可以下载镜像并准备一张带有JetPack的SD卡来启动设备
  2. 如果您拥有任何其他 NVIDIA 开发套件,您可以使用 SDK 管理器将 JetPack 刷入设备
  3. 如果您拥有 Seeed Studio reComputer J4012 设备,您可以将 JetPack 刷入自带的 SSD;如果您拥有 Seeed Studio reComputer J1020 v2 设备,您可以将 JetPack 刷入 eMMC/SSD
  4. 如果您拥有任何其他由 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 设备的性能。

  1. 更新软件包列表,安装 pip 并升级到最新版本

    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
    
  2. 安装 ultralytics 带有可选依赖项的 pip 软件包

    pip install ultralytics[export]
    
  3. 重新启动设备

    sudo reboot
    

安装 PyTorch 和 Torchvision

上述 ultralytics 安装将安装 Torch 和 Torchvision。但是,通过 pip 安装的这两个包与基于 ARM64 架构的 Jetson 平台不兼容。因此,我们需要手动安装预构建的 PyTorch pip wheel 并从源代码编译/安装 Torchvision。

安装 torch 2.5.0torchvision 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 设备中获得最佳性能。

  1. 更新软件包列表,安装 pip 并升级到最新版本

    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
    
  2. 安装 ultralytics 带有可选依赖项的 pip 软件包

    pip install ultralytics[export]
    
  3. 重新启动设备

    sudo reboot
    

安装 PyTorch 和 Torchvision

上述 ultralytics 安装将安装 Torch 和 Torchvision。但是,通过 pip 安装的这两个包与基于 ARM64 架构的 Jetson 平台不兼容。因此,我们需要手动安装预构建的 PyTorch pip wheel 并从源代码编译/安装 Torchvision。

  1. 卸载当前安装的 PyTorch 和 Torchvision

    pip uninstall torch torchvision
    
  2. 安装 torch 2.2.0torchvision 0.17.2 根据JP5.1.2

    pip 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)

Jetson AGX Orin 基准测试
使用 Ultralytics 8.3.157 进行基准测试

NVIDIA Jetson Orin Nano Super Developer Kit

Jetson Orin Nano Super 基准测试
使用 Ultralytics 8.3.157 进行基准测试

NVIDIA Jetson Orin NX 16GB

Jetson Orin NX 16GB 基准测试
使用 Ultralytics 8.3.157 进行基准测试

详细的对比表格

下表显示了五种不同模型(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 上实现最佳性能。

  1. 启用 MAX 功率模式

    在 Jetson 上启用 MAX 功率模式将确保所有 CPU、GPU 核心都已打开。

    sudo nvpmodel -m 0
    
  2. 启用 Jetson 时钟

    启用 Jetson 时钟将确保所有 CPU、GPU 核心都以其最大频率进行时钟频率。

    sudo jetson_clocks
    
  3. 安装 Jetson Stats 应用程序

    我们可以使用 jetson stats 应用程序来监控系统组件的温度,并检查其他系统详细信息,例如查看 CPU、GPU、RAM 使用率,更改电源模式,设置为最大时钟,检查 JetPack 信息。

    sudo apt update
    sudo pip install jetson-stats
    sudo reboot
    jtop
    

Jetson Stats

下一步

恭喜您在 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 上实现最佳性能,请遵循以下最佳实践:

  1. 启用 MAX Power Mode 以利用所有 CPU 和 GPU 核心。
  2. 启用 Jetson Clocks 以在最大频率下运行所有核心。
  3. 安装 Jetson Stats 应用程序以监控系统指标。

有关命令和其他详细信息,请参阅使用 NVIDIA Jetson 时的最佳实践部分。



📅 创建于 1 年前 ✏️ 更新于 2 个月前

评论