跳转至内容

快速入门指南:搭载Ultralytics YOLO11 NVIDIA Spark

本综合指南详细介绍了NVIDIA紧凑型桌面AINVIDIA NVIDIA Spark上部署Ultralytics YOLO11 完整流程。此外,指南还展示了性能基准测试,以证明YOLO11 该强大YOLO11 卓越能力。

NVIDIA Spark

注意

本指南已在运行基于Ubuntu的DGX OSNVIDIA Spark创始者版上进行过测试。预计可兼容最新版本的DGX OS。

NVIDIA Spark?

NVIDIA Spark是一款紧凑型桌面人工智能超级计算机,搭载NVIDIA Grace Blackwell超级芯片。它提供高达1 petaflop的FP4精度人工智能计算性能,是需要强大人工智能能力且追求桌面机型开发者、研究人员和数据科学家的理想选择。

关键规格

规格详情
AI 性能高达1 PFLOP(FP4)
GPUNVIDIA ,搭载第五代Tensor 与第四代光线追踪核心
CPU20核Arm处理器(10个Cortex-X925 + 10个Cortex-A725)
内存128 GB LPDDR5x 统一系统内存,256 位接口,4266 MHz 频率,273 GB/s 带宽
存储1 TB 或 4 TB NVMe M.2 固态硬盘,支持自加密
网络1个RJ-45接口(10 GbE),ConnectX-7智能网卡,Wi-Fi 7,蓝牙5.4
互联性4个USB Type-C接口,1个HDMI 2.1a接口,HDMI多声道音频
视频处理1个NVENC编码器,1个NVDEC解码器

DGX 操作系统

NVIDIA OS是一款定制化的 Linux 发行版,为在 DGX 系统上运行人工智能、机器学习和分析应用程序提供稳定、经过测试且受支持的操作系统基础。其包含:

  • 专为人工智能工作负载优化的强大Linux基础架构
  • NVIDIA 的预配置驱动程序和系统设置
  • 安全更新与系统维护能力
  • 与更NVIDIA 兼容性

DGX OS遵循常规发布计划,通常每年提供两次更新(约在二月和八月),并在主要版本发布之间提供额外的安全补丁。

DGX 仪表板

DGX Spark内置DGX仪表板,提供:

  • 实时系统监控:系统当前运行指标概览
  • 系统更新:支持直接从控制面板应用更新
  • 系统设置:更改设备名称及其他配置
  • 集成JupyterLab:访问本地Jupyter笔记本进行开发

NVIDIA 仪表板

访问仪表板

点击Ubuntu桌面左下角的"显示应用程序"按钮,然后选择"DGX Dashboard"在浏览器中打开它。

# Open an SSH tunnel
ssh -L 11000:localhost:11000 <username>@<IP or spark-abcd.local>

# Then open in browser
# http://localhost:11000

NVIDIA 后,点击"DGX仪表板"按钮即可在以下地址打开仪表板: http://localhost:11000.

集成式 JupyterLab

仪表盘内置了一个集成JupyterLab实例,启动时会自动创建虚拟环境并安装推荐的软件包。每个用户账户都分配有专属端口用于访问JupyterLab。

Docker 快速入门

NVIDIA YOLO11 快速启动Ultralytics YOLO11 的最便捷方式是使用预构建的Docker镜像。支持Jetson AGX Thor(JetPack 7.0)的Docker镜像同样适用于搭载DGX OS的DGX Spark。

t=ultralytics/ultralytics:latest-nvidia-arm64
sudo docker pull $t && sudo docker run -it --ipc=host --runtime=nvidia --gpus all $t

完成此操作后,请跳至 TensorRT NVIDIA SparkTensorRT 使用TensorRT ”部分

本地安装入门

对于不使用 Docker 的本地安装,请按照以下步骤操作。

安装 Ultralytics 软件包

在此我们将为DGX Spark安装Ultralytics 及其可选依赖项,以便能够导出 PyTorch 模型导出为其他不同格式。我们将重点关注NVIDIA TensorRT 因为TensorRT 确保我们充分释放DGX Spark的最大性能。

  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安装的这些软件包可能无法完全优化以适配DGX Spark的ARM64架构CUDA 。因此,我们建议安装兼容CUDA 版本:

pip install torch torchvision --index-url https://download.pytorch.org/whl/cu130

信息

NVIDIA Spark上运行PyTorch .9.1时,您可能会遇到以下问题: UserWarning CUDA 例如运行 yolo checks, yolo predict等:

UserWarning: Found GPU0 NVIDIA GB10 which is of cuda capability 12.1.
Minimum and Maximum cuda capability supported by this version of PyTorch is (8.0) - (12.0)

此警告可安全忽略。为永久解决此问题,已在PyTorch #164590中提交修复方案,该方案将包含在PyTorch .10 版本中。

安装 onnxruntime-gpu

字段 onnxruntime-gpu 托管在PyPI上的包不包含 aarch64 ARM64系统的二进制文件。因此我们需要手动安装此软件包。该软件包是某些导出功能所必需的。

在此我们将下载并安装 onnxruntime-gpu 1.24.0 使用 Python3.12 支持。

pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/onnxruntime_gpu-1.24.0-cp312-cp312-linux_aarch64.whl

TensorRT NVIDIA SparkTensorRT 使用TensorRT

Ultralytics支持的所有模型导出格式中,NVIDIA Spark平台上TensorRT 最高推理性能,因此成为我们部署的首选方案。有关配置说明和高级用法,请参阅我们的专用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 SparkYOLO11

Ultralytics 在多种模型格式上运行了YOLO11 ,以衡量速度和准确性:PyTorch、TorchScript、ONNX、OpenVINO、TensorRT、TF SavedModel、TF GraphDef、TF 、MNN、NCNN、ExecuTorch。测试NVIDIA Spark平台上以FP32精度运行,默认输入图像尺寸为640。

详细对比表

下表展示了五种不同模型(YOLO11n、YOLO11s、YOLO11m、YOLO11l、YOLO11x)在多种格式下的基准测试结果,呈现了每种组合的状态、尺寸、mAP50(B)指标及推理时间。

性能

格式状态磁盘占用空间 (MB)mAP50-95(B)推理时间 (ms/im)
PyTorch5.40.50712.67
TorchScript10.50.50832.62
ONNX10.20.50745.92
OpenVINO10.40.505814.95
TensorRT (FP32)12.80.50851.95
TensorRT (FP16)7.00.50681.01
TensorRT (INT8)18.60.48801.62
TF SavedModel25.70.507636.39
TF GraphDef10.30.507641.06
TF Lite10.30.507564.36
MNN10.10.507512.14
NCNN10.20.504112.31
ExecuTorch10.20.507527.61
格式状态磁盘占用空间 (MB)mAP50-95(B)推理时间 (ms/im)
PyTorch18.40.57675.38
TorchScript36.50.57815.48
ONNX36.30.57848.17
OpenVINO36.40.580927.12
TensorRT (FP32)39.80.57833.59
TensorRT (FP16)20.10.58001.85
TensorRT (INT8)17.50.56641.88
TF SavedModel90.80.578266.63
TF GraphDef36.30.578271.67
TF Lite36.30.5782187.36
MNN36.20.577527.05
NCNN36.20.580626.26
ExecuTorch36.20.578254.73
格式状态磁盘占用空间 (MB)mAP50-95(B)推理时间 (ms/im)
PyTorch38.80.625411.14
TorchScript77.30.630412.00
ONNX76.90.630413.83
OpenVINO77.10.628462.44
TensorRT (FP32)79.90.63056.96
TensorRT (FP16)40.60.63133.14
TensorRT (INT8)26.60.62043.30
TF SavedModel192.40.6306139.85
TF GraphDef76.90.6306146.76
TF Lite76.90.6306568.18
MNN76.80.630667.67
NCNN76.80.630860.49
ExecuTorch76.90.6306120.37
格式状态磁盘占用空间 (MB)mAP50-95(B)推理时间 (ms/im)
PyTorch49.00.636613.95
TorchScript97.60.639915.67
ONNX97.00.639916.62
OpenVINO97.30.637778.80
TensorRT (FP32)99.20.64078.86
TensorRT (FP16)50.80.63503.85
TensorRT (INT8)32.50.62244.52
TF SavedModel242.70.6409187.45
TF GraphDef97.00.6409193.92
TF Lite97.00.6409728.61
MNN96.90.636985.21
NCNN96.90.637377.62
ExecuTorch97.00.6409153.56
格式状态磁盘占用空间 (MB)mAP50-95(B)推理时间 (ms/im)
PyTorch109.30.699223.19
TorchScript218.10.690025.75
ONNX217.50.690027.43
OpenVINO217.80.6872149.44
TensorRT (FP32)222.70.690213.87
TensorRT (FP16)111.10.68836.19
TensorRT (INT8)62.90.67936.62
TF SavedModel543.90.6900335.10
TF GraphDef217.50.6900348.86
TF Lite217.50.69001578.66
MNN217.30.6874168.95
NCNN217.40.6901132.13
ExecuTorch217.40.6900297.17

Ultralytics .3.249版本进行基准测试

复现我们的结果

要在所有导出格式上重现上述 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 export formats
results = model.benchmark(data="coco128.yaml", imgsz=640)
# Benchmark YOLO11n speed and accuracy on the COCO128 dataset for all export formats
yolo benchmark model=yolo11n.pt data=coco128.yaml imgsz=640

请注意,基准测试结果可能因系统的具体硬件和软件配置而异,也可能因运行基准测试时系统的当前工作负载而异。为了获得最可靠的结果,请使用包含大量图像的数据集,例如: data='coco.yaml' (5000 张验证图像)。

NVIDIA Spark 最佳实践指南

NVIDIA Spark时,为YOLO11达到最佳运行性能,需遵循以下最佳实践:

  1. 监控系统性能

    使用NVIDIA 的监控工具track GPU CPU :

    nvidia-smi
    
  2. 优化内存使用

    凭借128GB的统一内存,DGX Spark能够处理大规模批次和模型。建议增加批次规模以提升吞吐量:

    from ultralytics import YOLO
    
    model = YOLO("yolo11n.engine")
    results = model.predict(source="path/to/images", batch=16)
    
  3. 使用TensorRT FP16 或 INT8 格式

    为获得最佳性能,请使用FP16或INT8精度导出模型:

    yolo export model=yolo11n.pt format=engine half=True # FP16
    yolo export model=yolo11n.pt format=engine int8=True # INT8
    

系统更新(创始者版)

保持您的DGX Spark创始者版系统更新对性能和安全性至关重要。NVIDIA 两种主要方法来更新系统操作系统、驱动程序和固件。

DGX 仪表板是执行系统更新以确保兼容性的推荐方式。它允许您:

  • 查看可用的系统更新
  • 安装安全补丁和系统更新
  • 管理NVIDIA 和固件更新

手动系统更新

对于高级用户,可通过终端手动执行更新:

sudo apt update
sudo apt dist-upgrade
sudo fwupdmgr refresh
sudo fwupdmgr upgrade
sudo reboot

警告

在执行更新前,请确保您的系统连接到稳定的电源,并已备份重要数据。

下一步

如需进一步学习和支持,请参阅 Ultralytics YOLO11 文档

常见问题

如何NVIDIA YOLO11 部署Ultralytics YOLO11 ?

NVIDIA YOLO11 Ultralytics YOLO11 非常简单。您可以使用预构建的Docker镜像快速完成设置,或手动安装所需软件包。两种方法的详细步骤请参见"Docker快速入门"和"原生安装入门"章节。

NVIDIA YOLO11 达到怎样的性能表现?

得益于GB10 Grace Blackwell超级芯片YOLO11 在DGX Spark平台上展现出卓越性能。TensorRT 可提供最佳推理性能。具体基准测试结果(涵盖不同模型规模与格式)请参阅详细对比表部分。

为什么要在DGX SparkYOLO11 TensorRT YOLO11 使用TensorRT ?

强烈TensorRT 在DGX Spark上部署YOLO11 TensorRT 因其TensorRT 提供最佳性能表现。该技术通过充分利用BlackwellGPU 加速推理过程,确保实现最高效率与运行速度。更多详情请参阅" NVIDIA TensorRT "章节。

DGX Spark与Jetson设备在YOLO11任务中的表现如何?

DGX Spark的计算能力远超Jetson设备,提供高达1 PFLOP的人工智能性能和128GB统一内存,而Jetson AGX Thor仅具备2070 TFLOPS的性能和128GB内存。DGX Spark作为桌面级人工智能超级计算机而设计,而Jetson设备则是针对边缘部署优化的嵌入式系统。

我能否为DGX Spark和Jetson AGX Thor使用相同的Docker镜像?

是的! ultralytics/ultralytics:latest-nvidia-arm64 Docker镜像同时支持NVIDIA Spark(搭载DGX OS)和Jetson AGX Thor(搭载JetPack 7.0),因两者均采用ARM64架构,配备CUDA 及类似的软件堆栈。



📅 0 天前创建 ✏️ 0 天前更新
onuralpszr

评论