Hướng dẫn Bắt đầu Nhanh: NVIDIA Jetson với Ultralytics YOLO26

Hướng dẫn toàn diện này cung cấp các bước chi tiết để triển khai Ultralytics YOLO26 trên các thiết bị NVIDIA Jetson. Ngoài ra, tài liệu này còn trình bày các điểm chuẩn hiệu năng nhằm thể hiện khả năng của YOLO26 trên những thiết bị nhỏ gọn nhưng mạnh mẽ này.

Hỗ trợ sản phẩm mới

Chúng tôi đã cập nhật hướng dẫn này với NVIDIA Jetson AGX Thor Developer Kit mới nhất, cung cấp hiệu suất tính toán AI lên đến 2070 FP4 TFLOPS và 128 GB bộ nhớ với mức tiêu thụ điện năng có thể cấu hình từ 40 W đến 130 W. Thiết bị này mang lại hiệu suất tính toán AI cao hơn 7.5 lần so với NVIDIA Jetson AGX Orin, cùng hiệu suất năng lượng tốt hơn 3.5 lần để vận hành mượt mà các mô hình AI phổ biến nhất.



Watch: How to use Ultralytics YOLO26 on NVIDIA Jetson Devices
NVIDIA Jetson Ecosystem
Lưu ý

Hướng dẫn này đã được kiểm thử với NVIDIA Jetson AGX Thor Developer Kit (Jetson T5000) chạy bản phát hành JetPack ổn định mới nhất JP7.0, NVIDIA Jetson AGX Orin Developer Kit (64GB) chạy bản phát hành JetPack JP6.2, NVIDIA Jetson Orin Nano Super Developer Kit chạy bản phát hành JetPack JP6.1, Seeed Studio reComputer J4012 dựa trên NVIDIA Jetson Orin NX 16GB chạy bản phát hành JetPack JP6.0/ bản phát hành JetPack JP5.1.3Seeed Studio reComputer J1020 v2 dựa trên NVIDIA Jetson Nano 4GB chạy bản phát hành JetPack JP4.6.1. Hướng dẫn này dự kiến sẽ hoạt động trên tất cả dòng phần cứng NVIDIA Jetson, bao gồm cả các thiết bị mới nhất và cũ hơn.

NVIDIA Jetson là gì?

NVIDIA Jetson là một loạt các bảng mạch tính toán nhúng được thiết kế để mang khả năng tính toán AI (trí tuệ nhân tạo) tăng tốc đến các thiết bị biên (edge devices). Những thiết bị nhỏ gọn và mạnh mẽ này được xây dựng dựa trên kiến trúc GPU của NVIDIA và có thể chạy các thuật toán AI phức tạp cùng các mô hình deep learning trực tiếp trên thiết bị mà không cần phụ thuộc vào tài nguyên cloud computing. Các bảng mạch Jetson thường được sử dụng trong robot, phương tiện tự hành, tự động hóa công nghiệp và các ứng dụng khác cần thực hiện suy luận AI tại chỗ với độ trễ thấp và hiệu suất cao. Ngoài ra, các bảng mạch này dựa trên kiến trúc ARM64 và tiêu thụ ít điện năng hơn so với các thiết bị tính toán GPU truyền thống.

So sánh dòng NVIDIA Jetson

NVIDIA Jetson AGX Thor là phiên bản mới nhất của dòng NVIDIA Jetson dựa trên kiến trúc NVIDIA Blackwell, mang lại hiệu suất AI được cải thiện đáng kể so với các thế hệ trước đó. Bảng dưới đây so sánh một số thiết bị Jetson trong hệ sinh thái.

Jetson AGX Thor(T5000)Jetson AGX Orin 64GBJetson Orin NX 16GBJetson Orin Nano SuperJetson AGX XavierJetson Xavier NXJetson Nano
Hiệu năng AI2070 TFLOPS275 TOPS100 TOPS67 TOPS32 TOPS21 TOPS472 GFLOPS
GPUGPU kiến trúc NVIDIA Blackwell 2560-core với 96 Tensor CoresGPU kiến trúc NVIDIA Ampere 2048-core với 64 Tensor CoresGPU kiến trúc NVIDIA Ampere 1024-core với 32 Tensor CoresGPU kiến trúc NVIDIA Ampere 1024-core với 32 Tensor CoresGPU kiến trúc NVIDIA Volta 512-core với 64 Tensor CoresGPU kiến trúc NVIDIA Volta™ 384-core với 48 Tensor CoresGPU kiến trúc NVIDIA Maxwell™ 128-core
Tần số tối đa của GPU1.57 GHz1.3 GHz918 MHz1020 MHz1377 MHz1100 MHz921MHz
CPUCPU Arm® Neoverse®-V3AE 64-bit 14-core 1MB L2 + 16MB L3CPU NVIDIA Arm® Cortex A78AE v8.2 64-bit 12-core 3MB L2 + 6MB L3CPU NVIDIA Arm® Cortex A78AE v8.2 64-bit 8-core 2MB L2 + 4MB L3CPU Arm® Cortex®-A78AE v8.2 64-bit 6-core 1.5MB L2 + 4MB L3CPU NVIDIA Carmel Arm®v8.2 64-bit 8-core 8MB L2 + 4MB L3CPU NVIDIA Carmel Arm®v8.2 64-bit 6-core 6MB L2 + 4MB L3Bộ xử lý Quad-Core Arm® Cortex®-A57 MPCore
Tần số tối đa của CPU2.6 GHz2.2 GHz2.0 GHz1.7 GHz2.2 GHz1.9 GHz1.43GHz
Bộ nhớ128GB 256-bit LPDDR5X 273GB/s64GB 256-bit LPDDR5 204.8GB/s16GB 128-bit LPDDR5 102.4GB/s8GB 128-bit LPDDR5 102 GB/s32GB 256-bit LPDDR4x 136.5GB/s8GB 128-bit LPDDR4x 59.7GB/s4GB 64-bit LPDDR4 25.6GB/s

Để có bảng so sánh chi tiết hơn, vui lòng truy cập phần Compare Specifications (So sánh Thông số kỹ thuật) trên trang NVIDIA Jetson chính thức.

NVIDIA JetPack là gì?

NVIDIA JetPack SDK hỗ trợ các mô-đun Jetson là giải pháp toàn diện nhất, cung cấp môi trường phát triển đầy đủ để xây dựng các ứng dụng AI tăng tốc đầu cuối và rút ngắn thời gian đưa sản phẩm ra thị trường. JetPack bao gồm Jetson Linux với bộ nạp khởi động (bootloader), nhân Linux (Linux kernel), môi trường máy tính để bàn Ubuntu và một bộ thư viện hoàn chỉnh để tăng tốc tính toán GPU, đa phương tiện, đồ họa và computer vision. SDK này cũng bao gồm các mẫu, tài liệu và công cụ dành cho nhà phát triển cho cả máy tính chủ và bộ kit phát triển, đồng thời hỗ trợ các SDK cấp cao hơn như DeepStream để phân tích video trực tuyến, Isaac cho robot và Riva cho AI hội thoại.

Flash JetPack cho NVIDIA Jetson

Bước đầu tiên sau khi sở hữu thiết bị NVIDIA Jetson là flash NVIDIA JetPack cho thiết bị đó. Có nhiều cách khác nhau để flash các thiết bị NVIDIA Jetson.

  1. Nếu bạn sở hữu bộ kit phát triển chính thức của NVIDIA như Jetson AGX Thor Developer Kit, bạn có thể tải xuống một tệp ảnh (image) và chuẩn bị USB khởi động để flash JetPack vào SSD đi kèm.
  2. Nếu bạn sở hữu bộ kit phát triển chính thức của NVIDIA như Jetson Orin Nano Developer Kit, bạn có thể tải xuống tệp ảnh và chuẩn bị thẻ SD với JetPack để khởi động thiết bị.
  3. Nếu bạn sở hữu bất kỳ bộ kit phát triển NVIDIA nào khác, bạn có thể flash JetPack cho thiết bị bằng SDK Manager.
  4. Nếu bạn sở hữu thiết bị Seeed Studio reComputer J4012, bạn có thể flash JetPack vào SSD đi kèm và nếu bạn sở hữu thiết bị Seeed Studio reComputer J1020 v2, bạn có thể flash JetPack vào eMMC/ SSD.
  5. Nếu bạn sở hữu bất kỳ thiết bị bên thứ ba nào khác được hỗ trợ bởi mô-đun NVIDIA Jetson, bạn nên thực hiện flash qua dòng lệnh.
Lưu ý

Đối với các phương pháp 1, 4 và 5 ở trên, sau khi flash hệ thống và khởi động thiết bị, vui lòng nhập "sudo apt update && sudo apt install nvidia-jetpack -y" vào terminal trên thiết bị để cài đặt tất cả các thành phần JetPack còn thiếu cần thiết.

Hỗ trợ JetPack dựa trên Thiết bị Jetson

Bảng dưới đây nêu bật các phiên bản NVIDIA JetPack được hỗ trợ bởi các thiết bị NVIDIA Jetson khác nhau.

JetPack 4JetPack 5JetPack 6JetPack 7
Jetson Nano
Jetson TX2
Jetson Xavier NX
Jetson AGX Xavier
Jetson AGX Orin
Jetson Orin NX
Jetson Orin Nano
Jetson AGX Thor

Bắt đầu nhanh với Docker

Cách nhanh nhất để bắt đầu với Ultralytics YOLO26 trên NVIDIA Jetson là chạy bằng các tệp docker image được xây dựng sẵn cho Jetson. Hãy tham khảo bảng trên và chọn phiên bản JetPack phù hợp với thiết bị Jetson mà bạn sở hữu.

t=ultralytics/ultralytics:latest-jetson-jetpack4
sudo docker pull $t && sudo docker run -it --ipc=host --runtime=nvidia $t

Sau khi thực hiện xong, hãy bỏ qua đến phần Sử dụng TensorRT trên NVIDIA Jetson.

Bắt đầu với Cài đặt Native

Đối với cài đặt gốc không sử dụng Docker, vui lòng tham khảo các bước bên dưới.

Chạy trên JetPack 7.0

Cài đặt gói Ultralytics

Tại đây, chúng tôi sẽ cài đặt gói Ultralytics trên Jetson cùng với các phần phụ thuộc tùy chọn để có thể xuất các mô hình PyTorch sang các định dạng khác nhau. Chúng tôi sẽ tập trung chủ yếu vào xuất NVIDIA TensorRT vì TensorRT sẽ đảm bảo chúng ta đạt được hiệu suất tối đa từ các thiết bị Jetson.

  1. Cập nhật danh sách gói, cài đặt pip và nâng cấp lên phiên bản mới nhất

    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
  2. Cài đặt gói ultralytics bằng pip với các phụ thuộc tùy chọn

    pip install ultralytics[export]
  3. Khởi động lại thiết bị

    sudo reboot

Cài đặt PyTorch và Torchvision

Cài đặt ultralytics ở trên sẽ cài đặt cả Torch và Torchvision. Tuy nhiên, 2 gói này được cài đặt qua pip không tương thích để chạy trên Jetson AGX Thor vốn đi kèm với JetPack 7.0 và CUDA 13. Do đó, chúng ta cần cài đặt chúng theo cách thủ công.

Cài đặt torchtorchvision theo JP7.0

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

Cài đặt onnxruntime-gpu

Gói onnxruntime-gpu được lưu trữ trên PyPI không có tệp nhị phân aarch64 cho Jetson. Vì vậy, chúng ta cần cài đặt gói này theo cách thủ công. Gói này là cần thiết cho một số định dạng xuất.

Ở đây chúng ta sẽ tải xuống và cài đặt onnxruntime-gpu 1.24.0 với hỗ trợ Python3.12.

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

Chạy trên JetPack 6.1

Cài đặt gói Ultralytics

Tại đây, chúng tôi sẽ cài đặt gói Ultralytics trên Jetson cùng với các phần phụ thuộc tùy chọn để có thể xuất các mô hình PyTorch sang các định dạng khác nhau. Chúng tôi sẽ tập trung chủ yếu vào xuất NVIDIA TensorRT vì TensorRT sẽ đảm bảo chúng ta đạt được hiệu suất tối đa từ các thiết bị Jetson.

  1. Cập nhật danh sách gói, cài đặt pip và nâng cấp lên phiên bản mới nhất

    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
  2. Cài đặt gói ultralytics bằng pip với các phụ thuộc tùy chọn

    pip install ultralytics[export]
  3. Khởi động lại thiết bị

    sudo reboot

Cài đặt PyTorch và Torchvision

Cài đặt ultralytics ở trên sẽ cài đặt cả Torch và Torchvision. Tuy nhiên, hai gói này được cài đặt qua pip không tương thích với nền tảng Jetson, vốn dựa trên kiến trúc ARM64. Do đó, chúng ta cần cài đặt thủ công một tệp wheel PyTorch pip đã được build sẵn và biên dịch hoặc cài đặt Torchvision từ mã nguồn.

Cài đặt torch 2.10.0torchvision 0.25.0 theo JP6.1

pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torch-2.10.0-cp310-cp310-linux_aarch64.whl
pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torchvision-0.25.0-cp310-cp310-linux_aarch64.whl
Lưu ý

Truy cập trang PyTorch cho Jetson để truy cập tất cả các phiên bản PyTorch khác nhau cho các phiên bản JetPack khác nhau. Để biết danh sách chi tiết hơn về khả năng tương thích của PyTorch và Torchvision, hãy truy cập trang tương thích PyTorch và Torchvision.

Cài đặt cuDSS để sửa lỗi phụ thuộc với torch 2.10.0

wget https://developer.download.nvidia.com/compute/cudss/0.7.1/local_installers/cudss-local-tegra-repo-ubuntu2204-0.7.1_0.7.1-1_arm64.deb
sudo dpkg -i cudss-local-tegra-repo-ubuntu2204-0.7.1_0.7.1-1_arm64.deb
sudo cp /var/cudss-local-tegra-repo-ubuntu2204-0.7.1/cudss-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cudss

Cài đặt onnxruntime-gpu

Gói onnxruntime-gpu được lưu trữ trên PyPI không có tệp nhị phân aarch64 cho Jetson. Vì vậy, chúng ta cần cài đặt gói này theo cách thủ công. Gói này là cần thiết cho một số định dạng xuất.

Bạn có thể tìm thấy tất cả các gói onnxruntime-gpu có sẵn—được sắp xếp theo phiên bản JetPack, phiên bản Python và các chi tiết tương thích khác—trong ma trận tương thích ONNX Runtime của Jetson Zoo.

Đối với JetPack 6 hỗ trợ Python 3.10, bạn có thể cài đặt onnxruntime-gpu 1.23.0:

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

Hoặc, đối với onnxruntime-gpu 1.20.0:

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

Chạy trên JetPack 5.1.2

Cài đặt gói Ultralytics

Tại đây, chúng tôi sẽ cài đặt gói Ultralytics trên Jetson cùng với các phần phụ thuộc tùy chọn để có thể xuất các mô hình PyTorch sang các định dạng khác nhau. Chúng tôi sẽ tập trung chủ yếu vào xuất NVIDIA TensorRT vì TensorRT sẽ đảm bảo chúng ta đạt được hiệu suất tối đa từ các thiết bị Jetson.

  1. Cập nhật danh sách gói, cài đặt pip và nâng cấp lên phiên bản mới nhất

    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
  2. Cài đặt gói ultralytics bằng pip với các phụ thuộc tùy chọn

    pip install ultralytics[export]
  3. Khởi động lại thiết bị

    sudo reboot

Cài đặt PyTorch và Torchvision

Cài đặt ultralytics ở trên sẽ cài đặt cả Torch và Torchvision. Tuy nhiên, hai gói này được cài đặt qua pip không tương thích với nền tảng Jetson, vốn dựa trên kiến trúc ARM64. Do đó, chúng ta cần cài đặt thủ công một tệp wheel PyTorch pip đã được build sẵn và biên dịch hoặc cài đặt Torchvision từ mã nguồn.

  1. Gỡ cài đặt PyTorch và Torchvision hiện có

    pip uninstall torch torchvision
  2. Cài đặt torch 2.1.0torchvision 0.16.2 theo JP5.1.2

    pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torch-2.1.0a0+41361538.nv23.06-cp38-cp38-linux_aarch64.whl
    pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torchvision-0.16.2+c6f3977-cp38-cp38-linux_aarch64.whl
Lưu ý

Truy cập trang PyTorch cho Jetson để truy cập tất cả các phiên bản PyTorch khác nhau cho các phiên bản JetPack khác nhau. Để biết danh sách chi tiết hơn về khả năng tương thích của PyTorch và Torchvision, hãy truy cập trang tương thích PyTorch và Torchvision.

Cài đặt onnxruntime-gpu

Gói onnxruntime-gpu được lưu trữ trên PyPI không có tệp nhị phân aarch64 cho Jetson. Vì vậy, chúng ta cần cài đặt gói này theo cách thủ công. Gói này là cần thiết cho một số định dạng xuất.

Bạn có thể tìm thấy tất cả các gói onnxruntime-gpu khả dụng—được sắp xếp theo phiên bản JetPack, phiên bản Python và các chi tiết tương thích khác—trong ma trận tương thích ONNX Runtime của Jetson Zoo. Tại đây, chúng ta sẽ tải xuống và cài đặt onnxruntime-gpu 1.17.0 với hỗ trợ 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
Lưu ý

onnxruntime-gpu sẽ tự động hoàn nguyên phiên bản NumPy về phiên bản mới nhất. Do đó, chúng ta cần cài đặt lại NumPy về 1.23.5 để khắc phục sự cố bằng cách thực hiện lệnh:

pip install numpy==1.23.5

Sử dụng TensorRT trên NVIDIA Jetson

Trong số tất cả các định dạng xuất model được Ultralytics hỗ trợ, TensorRT cung cấp hiệu suất suy luận (inference) cao nhất trên các thiết bị NVIDIA Jetson, biến nó thành khuyến nghị hàng đầu của chúng tôi cho các triển khai trên Jetson. Để biết hướng dẫn thiết lập và cách sử dụng nâng cao, hãy xem hướng dẫn tích hợp TensorRT chuyên sâu của chúng tôi.

Chuyển đổi mô hình sang TensorRT và chạy Inference

Mô hình YOLO26n ở định dạng PyTorch được chuyển đổi sang TensorRT để chạy inference với mô hình đã xuất.

Ví dụ
from ultralytics import YOLO

# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")

# Export the model to TensorRT
model.export(format="engine")  # creates 'yolo26n.engine'

# Load the exported TensorRT model
trt_model = YOLO("yolo26n.engine")

# Run inference
results = trt_model("https://ultralytics.com/images/bus.jpg")
Lưu ý

Truy cập trang Export để xem các tham số bổ sung khi xuất mô hình sang các định dạng khác

Sử dụng NVIDIA Deep Learning Accelerator (DLA)

NVIDIA Deep Learning Accelerator (DLA) là một thành phần phần cứng chuyên dụng được tích hợp vào các thiết bị NVIDIA Jetson giúp tối ưu hóa quá trình suy luận deep learning về mặt hiệu suất và hiệu quả năng lượng. Bằng cách giảm tải các tác vụ từ GPU (giải phóng GPU cho các quy trình chuyên sâu hơn), DLA cho phép các model chạy với mức tiêu thụ điện năng thấp hơn trong khi vẫn duy trì thông lượng (throughput) cao, lý tưởng cho các hệ thống nhúng và ứng dụng AI thời gian thực.

Các thiết bị Jetson sau đây được trang bị phần cứng DLA:

Thiết bị JetsonSố nhân DLATần số tối đa của DLA
Dòng Jetson AGX Orin21.6 GHz
Jetson Orin NX 16GB2614 MHz
Jetson Orin NX 8GB1614 MHz
Dòng Jetson AGX Xavier21.4 GHz
Dòng Jetson Xavier NX21.1 GHz
Ví dụ
from ultralytics import YOLO

# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.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("yolo26n.engine")

# Run inference
results = trt_model("https://ultralytics.com/images/bus.jpg")
Lưu ý

Khi sử dụng các bản xuất DLA, một số layer có thể không được hỗ trợ để chạy trên DLA và sẽ chuyển đổi ngược lại (fallback) sang GPU để thực thi. Việc fallback này có thể gây ra độ trễ bổ sung và ảnh hưởng đến hiệu suất suy luận tổng thể. Do đó, DLA không được thiết kế chủ yếu để giảm độ trễ suy luận so với việc chạy TensorRT hoàn toàn trên GPU. Thay vào đó, mục đích chính của nó là tăng thông lượng và cải thiện hiệu quả năng lượng.

Điểm chuẩn (Benchmark) YOLO11/ YOLO26 trên NVIDIA Jetson

Các điểm chuẩn YOLO11/ YOLO26 được nhóm Ultralytics thực hiện trên 11 định dạng model khác nhau để đo lường tốc độ và độ chính xác: PyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN, ExecuTorch. Các điểm chuẩn đã được thực hiện trên NVIDIA Jetson AGX Thor Developer Kit, NVIDIA Jetson AGX Orin Developer Kit (64GB), NVIDIA Jetson Orin Nano Super Developer Kit và Seeed Studio reComputer J4012 sử dụng thiết bị Jetson Orin NX 16GB ở độ chính xác FP32 với kích thước ảnh đầu vào mặc định là 640.

Biểu đồ so sánh

Mặc dù tất cả các bản xuất model đều hoạt động trên NVIDIA Jetson, chúng tôi chỉ đưa PyTorch, TorchScript, TensorRT vào biểu đồ so sánh bên dưới vì chúng tận dụng GPU trên Jetson và đảm bảo tạo ra kết quả tốt nhất. Tất cả các định dạng xuất khác chỉ sử dụng CPU và hiệu suất không tốt bằng ba định dạng trên. Bạn có thể tìm thấy điểm chuẩn cho tất cả các bản xuất trong phần sau biểu đồ này.

NVIDIA Jetson AGX Thor Developer Kit

Jetson AGX Thor Benchmarks
Benchmarked with Ultralytics 8.3.226

NVIDIA Jetson AGX Orin Developer Kit (64GB)

Jetson AGX Orin Benchmarks
Benchmarked with Ultralytics 8.4.32

NVIDIA Jetson Orin Nano Super Developer Kit

Jetson Orin Nano Super Benchmarks
Benchmarked with Ultralytics 8.4.33

NVIDIA Jetson Orin NX 16GB

Jetson Orin NX 16GB Benchmarks
Benchmarked with Ultralytics 8.4.33

Bảng so sánh chi tiết

Bảng dưới đây thể hiện kết quả điểm chuẩn cho năm model khác nhau (YOLO11n, YOLO11s, YOLO11m, YOLO11l, YOLO11x) trên 11 định dạng khác nhau (PyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN, ExecuTorch), cung cấp cho chúng ta trạng thái, kích thước, chỉ số mAP50-95(B) và thời gian suy luận cho mỗi kết hợp.

NVIDIA Jetson AGX Thor Developer Kit

Hiệu suất
Định dạngTrạng tháiKích thước trên đĩa (MB)mAP50-95(B)Thời gian inference (ms/im)
PyTorch5.30.47987.39
TorchScript9.80.47894.21
ONNX9.50.47676.58
OpenVINO10.10.479417.50
TensorRT (FP32)13.90.47911.90
TensorRT (FP16)7.60.47971.39
TensorRT (INT8)6.50.42731.52
TF SavedModel25.70.476447.24
TF GraphDef9.50.476445.98
TF Lite9.90.4764182.04
MNN9.40.478421.83

Được benchmark với Ultralytics 8.4.7

Lưu ý

Thời gian suy luận (inference) không bao gồm xử lý trước/sau (pre/post-processing).

NVIDIA Jetson AGX Orin Developer Kit (64GB)

Hiệu suất
Định dạngTrạng tháiKích thước trên đĩa (MB)mAP50-95(B)Thời gian inference (ms/im)
PyTorch5.30.479011.58
TorchScript9.80.47704.60
ONNX9.50.47709.87
OpenVINO9.60.482028.80
TensorRT (FP32)11.50.04504.18
TensorRT (FP16)7.90.04502.62
TensorRT (INT8)5.40.46402.30
TF SavedModel24.60.476071.10
TF GraphDef9.50.476070.02
TF Lite9.90.4760227.94
MNN9.40.476032.46
NCNN9.30.481029.93

Được kiểm chuẩn với Ultralytics 8.4.32

Lưu ý

Thời gian suy luận (inference) không bao gồm xử lý trước/sau (pre/post-processing).

NVIDIA Jetson Orin Nano Super Developer Kit

Hiệu suất
Định dạngTrạng tháiKích thước trên đĩa (MB)mAP50-95(B)Thời gian inference (ms/im)
PyTorch5.30.479015.60
TorchScript9.80.477012.60
ONNX9.50.476015.76
OpenVINO9.60.482056.23
TensorRT (FP32)11.30.47707.53
TensorRT (FP16)8.10.48004.57
TensorRT (INT8)5.30.44903.80
TF SavedModel24.60.4760118.33
TF GraphDef9.50.4760116.30
TF Lite9.90.4760286.00
MNN9.40.476068.77
NCNN9.30.481047.50

Được kiểm chuẩn với Ultralytics 8.4.33

Lưu ý

Thời gian suy luận (inference) không bao gồm xử lý trước/sau (pre/post-processing).

NVIDIA Jetson Orin NX 16GB

Hiệu suất
Định dạngTrạng tháiKích thước trên đĩa (MB)mAP50-95(B)Thời gian inference (ms/im)
PyTorch5.30.479913.90
TorchScript9.80.478711.60
ONNX9.50.476314.18
OpenVINO9.60.481940.19
TensorRT (FP32)11.40.47707.01
TensorRT (FP16)8.00.47894.13
TensorRT (INT8)5.50.44893.49
TF SavedModel24.60.476492.34
TF GraphDef9.50.476492.06
TF Lite9.90.4764254.43
MNN9.40.476048.55
NCNN9.30.480534.31

Được kiểm chuẩn với Ultralytics 8.4.33

Lưu ý

Thời gian suy luận (inference) không bao gồm xử lý trước/sau (pre/post-processing).

Khám phá thêm các nỗ lực benchmark bởi Seeed Studio chạy trên các phiên bản phần cứng NVIDIA Jetson khác nhau.

Tái tạo kết quả của chúng tôi

Để tái tạo các benchmark Ultralytics ở trên cho tất cả các định dạng xuất, hãy chạy đoạn mã sau:

Ví dụ
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)

Lưu ý rằng kết quả benchmark có thể thay đổi tùy thuộc vào cấu hình phần cứng và phần mềm cụ thể của hệ thống, cũng như khối lượng công việc hiện tại của hệ thống tại thời điểm chạy benchmark. Để có kết quả đáng tin cậy nhất, hãy sử dụng tập dữ liệu có số lượng ảnh lớn, ví dụ: data='coco.yaml' (5000 ảnh val).

Các phương pháp tốt nhất khi sử dụng NVIDIA Jetson

Khi sử dụng NVIDIA Jetson, có một vài phương pháp tốt nhất cần tuân theo để đạt được hiệu suất tối đa trên NVIDIA Jetson khi chạy YOLO26.

  1. Kích hoạt Chế độ MAX Power

    Việc kích hoạt Chế độ MAX Power trên Jetson sẽ đảm bảo tất cả các lõi CPU, GPU đều được bật.

    sudo nvpmodel -m 0
  2. Kích hoạt Jetson Clocks

    Việc kích hoạt Jetson Clocks sẽ đảm bảo tất cả các lõi CPU, GPU đều chạy ở tần số tối đa.

    sudo jetson_clocks
  3. Cài đặt ứng dụng Jetson Stats

    Chúng ta có thể sử dụng ứng dụng jetson stats để giám sát nhiệt độ của các thành phần hệ thống và kiểm tra các chi tiết hệ thống khác như xem mức sử dụng CPU, GPU, RAM, thay đổi chế độ nguồn, thiết lập xung nhịp tối đa, kiểm tra thông tin JetPack.

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

Mẹo tối ưu hóa bộ nhớ cho NVIDIA Jetson

Bộ nhớ khả dụng thường là yếu tố giới hạn trên các thiết bị Jetson, đặc biệt là trên các biến thể có bộ nhớ thấp hơn như Jetson Orin Nano (8 GB) hoặc Orin NX 8 GB. Các mẹo dưới đây là những thay đổi thực tế, ít rủi ro có thể giải phóng tổng cộng vài trăm megabyte và cho phép bạn chạy các model YOLO lớn hơn hoặc hỗ trợ các khối lượng công việc song song bổ sung. Để có hướng dẫn toàn diện, hãy xem blog của NVIDIA về cách tối đa hóa hiệu quả bộ nhớ trên Jetson.

Chuyển sang khởi động Headless (không có GUI)

Nếu Jetson của bạn được kết nối qua SSH hoặc đang chạy như một thiết bị sản xuất mà không cần màn hình, việc loại bỏ môi trường máy tính để bàn và máy chủ hiển thị có thể phục hồi tới 865 MB RAM:

sudo systemctl set-default multi-user.target
sudo reboot

Để khôi phục máy tính để bàn sau đó:

sudo systemctl set-default graphical.target
sudo reboot

Tắt các dịch vụ hệ thống không sử dụng

Các dịch vụ nền không thiết yếu (Bluetooth, trình quản lý kết nối, các daemon phần cứng không sử dụng) tiêu thụ khoảng 32 MB tổng cộng. Hãy liệt kê các dịch vụ đang hoạt động và tắt bất kỳ dịch vụ nào mà triển khai của bạn không yêu cầu:

# List running services
systemctl list-units --type=service --state=running

# Disable a service
sudo systemctl disable <service-name>

Lập hồ sơ sử dụng bộ nhớ

Trước khi tối ưu hóa, hãy xác định các quy trình nào thực sự đang tiêu thụ RAM. procrank sắp xếp các quy trình theo PSS (Proportional Set Size), chỉ số phản ánh chính xác dấu chân bộ nhớ thực tế trên mỗi quy trình hơn là RSS (Resident Set Size, tổng số trang RAM vật lý được ánh xạ bởi một quy trình, bao gồm cả các trang được chia sẻ với các quy trình khác):

git clone https://github.com/csimmonds/procrank_linux.git
cd procrank_linux && make
sudo ./procrank

Để xem mức phân bổ GPU và NvMap (CUDA/pipeline video) trên mỗi quy trình:

sudo cat /sys/kernel/debug/nvmap/iovmm/clients

Chạy inference mà không cần màn hình trong môi trường sản xuất

Đối với các pipeline inference không có yêu cầu xem trực tiếp, việc tắt các thành phần liên quan đến hiển thị (Tiler, OSD, DisplaySink) có thể tiết kiệm hơn 200+ MB chỉ riêng từ pipeline. Với Ultralytics YOLO, hãy tắt trình xem và ghi kết quả vào ổ đĩa thay thế:

Ví dụ
from ultralytics import YOLO

model = YOLO("yolo11n.engine")

# show=False prevents any display window; save=True writes annotated output to disk
results = model.predict(source="video.mp4", show=False, save=True)

Tác động tích lũy

Tối ưu hóaBộ nhớ xấp xỉ đã tiết kiệm
Tắt GUI máy tính để bàn~865 MB
Tắt các dịch vụ OS không sử dụng~32 MB
Pipeline inference Headless (không có màn hình)~200+ MB
Tổng cộng (các bước dễ thực hiện)~1 GB+

Việc kết hợp những thay đổi này đặc biệt có giá trị khi nhắm mục tiêu vào các model TensorRT INT8 trên các thiết bị hạn chế về bộ nhớ — nó có thể tạo ra sự khác biệt giữa việc có thể chứa được một biến thể model lớn hơn trong bộ nhớ hay không.

Các bước tiếp theo

Để biết thêm thông tin và hỗ trợ, hãy xem Tài liệu Ultralytics YOLO26.

Câu hỏi thường gặp (FAQ)

Làm thế nào để tôi triển khai Ultralytics YOLO26 trên các thiết bị NVIDIA Jetson?

Triển khai Ultralytics YOLO26 trên các thiết bị NVIDIA Jetson là một quy trình đơn giản. Đầu tiên, flash thiết bị Jetson của bạn với NVIDIA JetPack SDK. Sau đó, sử dụng hình ảnh Docker được dựng sẵn để thiết lập nhanh hoặc cài đặt thủ công các gói cần thiết. Các bước chi tiết cho từng cách tiếp cận có thể được tìm thấy trong các phần Khởi động nhanh với DockerBắt đầu với Cài đặt gốc.

Tôi có thể mong đợi những benchmark hiệu suất nào từ các model YOLO11 trên các thiết bị NVIDIA Jetson?

Các model YOLO11 đã được benchmark trên nhiều thiết bị NVIDIA Jetson khác nhau và cho thấy những cải thiện đáng kể về hiệu suất. Ví dụ, định dạng TensorRT mang lại hiệu suất inference tốt nhất. Bảng trong phần Bảng so sánh chi tiết cung cấp cái nhìn toàn diện về các chỉ số hiệu suất như mAP50-95 và thời gian inference trên các định dạng model khác nhau.

Tại sao tôi nên sử dụng TensorRT để triển khai YOLO26 trên NVIDIA Jetson?

TensorRT được khuyến nghị cao cho việc triển khai các model YOLO26 trên NVIDIA Jetson nhờ hiệu suất tối ưu của nó. Nó tăng tốc inference bằng cách tận dụng khả năng GPU của Jetson, đảm bảo hiệu quả và tốc độ tối đa. Tìm hiểu thêm về cách chuyển đổi sang TensorRT và chạy inference trong phần Sử dụng TensorRT trên NVIDIA Jetson.

Làm thế nào tôi có thể cài đặt PyTorch và Torchvision trên NVIDIA Jetson?

Để cài đặt PyTorch và Torchvision trên NVIDIA Jetson, trước tiên hãy gỡ cài đặt bất kỳ phiên bản nào hiện có có thể đã được cài đặt qua pip. Sau đó, cài đặt thủ công các phiên bản PyTorch và Torchvision tương thích cho kiến trúc ARM64 của Jetson. Hướng dẫn chi tiết cho quy trình này được cung cấp trong phần Cài đặt PyTorch và Torchvision.

Đâu là các phương pháp tốt nhất để tối đa hóa hiệu suất trên NVIDIA Jetson khi sử dụng YOLO26?

Để tối đa hóa hiệu suất trên NVIDIA Jetson với YOLO26, hãy làm theo các phương pháp tốt nhất sau:

  1. Kích hoạt Chế độ MAX Power để tận dụng tất cả các lõi CPU và GPU.
  2. Kích hoạt Jetson Clocks để chạy tất cả các lõi ở tần số tối đa.
  3. Cài đặt ứng dụng Jetson Stats để giám sát các chỉ số hệ thống.

Để biết các lệnh và chi tiết bổ sung, hãy tham khảo phần Các phương pháp tốt nhất khi sử dụng NVIDIA Jetson.

Làm thế nào để giải phóng bộ nhớ trên NVIDIA Jetson để chạy các model YOLO lớn hơn?

RAM khả dụng thường là điểm nghẽn trên các thiết bị Jetson có bộ nhớ thấp. Ba bước dễ thực hiện có thể phục hồi hơn 1 GB:

  1. Chuyển sang khởi động headless (sudo systemctl set-default multi-user.target) để loại bỏ GUI máy tính để bàn (tiết kiệm ~865 MB).
  2. Tắt các dịch vụ không sử dụng như Bluetooth hoặc trình quản lý kết nối (tiết kiệm ~32 MB).
  3. Chạy inference mà không có màn hình bằng cách thiết lập show=False trong lệnh gọi predict của YOLO, điều này tránh phân bổ bộ nhớ pipeline hiển thị (tiết kiệm ~200+ MB).

Sử dụng procrank để lập hồ sơ sử dụng RAM trên mỗi quy trình và sudo cat /sys/kernel/debug/nvmap/iovmm/clients để kiểm tra các phân bổ GPU. Xem phần Mẹo tối ưu hóa bộ nhớ để biết chi tiết đầy đủ.

Tại sao xuất TensorRT INT8 của tôi tắt end2end trên JetPack 6?

TensorRT 10.3.0 đi kèm với JetPack 6 có một vấn đề đã biết ngăn cản việc xây dựng engine INT8 khi end2end=True được kích hoạt. Khi Ultralytics phát hiện sự kết hợp này, nó sẽ tự động tắt nhánh end2end để đảm bảo việc xuất thành công.

Để khôi phục việc xuất end2end INT8, hãy nâng cấp TensorRT lên phiên bản mới hơn (ví dụ: 10.7.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 install -y tensorrt

Sau khi nâng cấp, hãy chạy lại việc xuất của bạn. Để biết thêm chi tiết, hãy xem GitHub issue #23841.

Bình luận