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.
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

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.3 và Seeed 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 64GB | Jetson Orin NX 16GB | Jetson Orin Nano Super | Jetson AGX Xavier | Jetson Xavier NX | Jetson Nano | |
|---|---|---|---|---|---|---|---|
| Hiệu năng AI | 2070 TFLOPS | 275 TOPS | 100 TOPS | 67 TOPS | 32 TOPS | 21 TOPS | 472 GFLOPS |
| GPU | GPU kiến trúc NVIDIA Blackwell 2560-core với 96 Tensor Cores | GPU kiến trúc NVIDIA Ampere 2048-core với 64 Tensor Cores | GPU kiến trúc NVIDIA Ampere 1024-core với 32 Tensor Cores | GPU kiến trúc NVIDIA Ampere 1024-core với 32 Tensor Cores | GPU kiến trúc NVIDIA Volta 512-core với 64 Tensor Cores | GPU kiến trúc NVIDIA Volta™ 384-core với 48 Tensor Cores | GPU kiến trúc NVIDIA Maxwell™ 128-core |
| Tần số tối đa của GPU | 1.57 GHz | 1.3 GHz | 918 MHz | 1020 MHz | 1377 MHz | 1100 MHz | 921MHz |
| CPU | CPU Arm® Neoverse®-V3AE 64-bit 14-core 1MB L2 + 16MB L3 | CPU NVIDIA Arm® Cortex A78AE v8.2 64-bit 12-core 3MB L2 + 6MB L3 | CPU NVIDIA Arm® Cortex A78AE v8.2 64-bit 8-core 2MB L2 + 4MB L3 | CPU Arm® Cortex®-A78AE v8.2 64-bit 6-core 1.5MB L2 + 4MB L3 | CPU NVIDIA Carmel Arm®v8.2 64-bit 8-core 8MB L2 + 4MB L3 | CPU NVIDIA Carmel Arm®v8.2 64-bit 6-core 6MB L2 + 4MB L3 | Bộ xử lý Quad-Core Arm® Cortex®-A57 MPCore |
| Tần số tối đa của CPU | 2.6 GHz | 2.2 GHz | 2.0 GHz | 1.7 GHz | 2.2 GHz | 1.9 GHz | 1.43GHz |
| Bộ nhớ | 128GB 256-bit LPDDR5X 273GB/s | 64GB 256-bit LPDDR5 204.8GB/s | 16GB 128-bit LPDDR5 102.4GB/s | 8GB 128-bit LPDDR5 102 GB/s | 32GB 256-bit LPDDR4x 136.5GB/s | 8GB 128-bit LPDDR4x 59.7GB/s | 4GB 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.
- 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.
- 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ị.
- 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.
- 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.
- 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.
Đố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 4 | JetPack 5 | JetPack 6 | JetPack 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 $tSau 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.
-
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 -
Cài đặt gói
ultralyticsbằng pip với các phụ thuộc tùy chọnpip install ultralytics[export] -
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 torch và torchvision theo JP7.0
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu130Cà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.whlChạ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.
-
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 -
Cài đặt gói
ultralyticsbằng pip với các phụ thuộc tùy chọnpip install ultralytics[export] -
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.0 và torchvision 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.whlTruy 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 cudssCà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.whlHoặ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.whlChạ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.
-
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 -
Cài đặt gói
ultralyticsbằng pip với các phụ thuộc tùy chọnpip install ultralytics[export] -
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.
-
Gỡ cài đặt PyTorch và Torchvision hiện có
pip uninstall torch torchvision -
Cài đặt
torch 2.1.0vàtorchvision 0.16.2theo JP5.1.2pip 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
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.whlonnxruntime-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.
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")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ị Jetson | Số nhân DLA | Tần số tối đa của DLA |
|---|---|---|
| Dòng Jetson AGX Orin | 2 | 1.6 GHz |
| Jetson Orin NX 16GB | 2 | 614 MHz |
| Jetson Orin NX 8GB | 1 | 614 MHz |
| Dòng Jetson AGX Xavier | 2 | 1.4 GHz |
| Dòng Jetson Xavier NX | 2 | 1.1 GHz |
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")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
NVIDIA Jetson AGX Orin Developer Kit (64GB)
NVIDIA Jetson Orin Nano Super Developer Kit
NVIDIA Jetson Orin NX 16GB
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
| Định dạng | Trạng thái | Kích thước trên đĩa (MB) | mAP50-95(B) | Thời gian inference (ms/im) |
|---|---|---|---|---|
| PyTorch | ✅ | 5.3 | 0.4798 | 7.39 |
| TorchScript | ✅ | 9.8 | 0.4789 | 4.21 |
| ONNX | ✅ | 9.5 | 0.4767 | 6.58 |
| OpenVINO | ✅ | 10.1 | 0.4794 | 17.50 |
| TensorRT (FP32) | ✅ | 13.9 | 0.4791 | 1.90 |
| TensorRT (FP16) | ✅ | 7.6 | 0.4797 | 1.39 |
| TensorRT (INT8) | ✅ | 6.5 | 0.4273 | 1.52 |
| TF SavedModel | ✅ | 25.7 | 0.4764 | 47.24 |
| TF GraphDef | ✅ | 9.5 | 0.4764 | 45.98 |
| TF Lite | ✅ | 9.9 | 0.4764 | 182.04 |
| MNN | ✅ | 9.4 | 0.4784 | 21.83 |
Được benchmark với Ultralytics 8.4.7
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)
| Định dạng | Trạng thái | Kích thước trên đĩa (MB) | mAP50-95(B) | Thời gian inference (ms/im) |
|---|---|---|---|---|
| PyTorch | ✅ | 5.3 | 0.4790 | 11.58 |
| TorchScript | ✅ | 9.8 | 0.4770 | 4.60 |
| ONNX | ✅ | 9.5 | 0.4770 | 9.87 |
| OpenVINO | ✅ | 9.6 | 0.4820 | 28.80 |
| TensorRT (FP32) | ✅ | 11.5 | 0.0450 | 4.18 |
| TensorRT (FP16) | ✅ | 7.9 | 0.0450 | 2.62 |
| TensorRT (INT8) | ✅ | 5.4 | 0.4640 | 2.30 |
| TF SavedModel | ✅ | 24.6 | 0.4760 | 71.10 |
| TF GraphDef | ✅ | 9.5 | 0.4760 | 70.02 |
| TF Lite | ✅ | 9.9 | 0.4760 | 227.94 |
| MNN | ✅ | 9.4 | 0.4760 | 32.46 |
| NCNN | ✅ | 9.3 | 0.4810 | 29.93 |
Được kiểm chuẩn với Ultralytics 8.4.32
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
| Định dạng | Trạng thái | Kích thước trên đĩa (MB) | mAP50-95(B) | Thời gian inference (ms/im) |
|---|---|---|---|---|
| PyTorch | ✅ | 5.3 | 0.4790 | 15.60 |
| TorchScript | ✅ | 9.8 | 0.4770 | 12.60 |
| ONNX | ✅ | 9.5 | 0.4760 | 15.76 |
| OpenVINO | ✅ | 9.6 | 0.4820 | 56.23 |
| TensorRT (FP32) | ✅ | 11.3 | 0.4770 | 7.53 |
| TensorRT (FP16) | ✅ | 8.1 | 0.4800 | 4.57 |
| TensorRT (INT8) | ✅ | 5.3 | 0.4490 | 3.80 |
| TF SavedModel | ✅ | 24.6 | 0.4760 | 118.33 |
| TF GraphDef | ✅ | 9.5 | 0.4760 | 116.30 |
| TF Lite | ✅ | 9.9 | 0.4760 | 286.00 |
| MNN | ✅ | 9.4 | 0.4760 | 68.77 |
| NCNN | ✅ | 9.3 | 0.4810 | 47.50 |
Được kiểm chuẩn với Ultralytics 8.4.33
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
| Định dạng | Trạng thái | Kích thước trên đĩa (MB) | mAP50-95(B) | Thời gian inference (ms/im) |
|---|---|---|---|---|
| PyTorch | ✅ | 5.3 | 0.4799 | 13.90 |
| TorchScript | ✅ | 9.8 | 0.4787 | 11.60 |
| ONNX | ✅ | 9.5 | 0.4763 | 14.18 |
| OpenVINO | ✅ | 9.6 | 0.4819 | 40.19 |
| TensorRT (FP32) | ✅ | 11.4 | 0.4770 | 7.01 |
| TensorRT (FP16) | ✅ | 8.0 | 0.4789 | 4.13 |
| TensorRT (INT8) | ✅ | 5.5 | 0.4489 | 3.49 |
| TF SavedModel | ✅ | 24.6 | 0.4764 | 92.34 |
| TF GraphDef | ✅ | 9.5 | 0.4764 | 92.06 |
| TF Lite | ✅ | 9.9 | 0.4764 | 254.43 |
| MNN | ✅ | 9.4 | 0.4760 | 48.55 |
| NCNN | ✅ | 9.3 | 0.4805 | 34.31 |
Được kiểm chuẩn với Ultralytics 8.4.33
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:
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.
-
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 -
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 -
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
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 rebootTắ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/clientsChạ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ế:
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óa | Bộ 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 Docker và Bắ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:
- Kích hoạt Chế độ MAX Power để tận dụng tất cả các lõi CPU và GPU.
- Kích hoạt Jetson Clocks để chạy tất cả các lõi ở tần số tối đa.
- 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:
- 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). - 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).
- Chạy inference mà không có màn hình bằng cách thiết lập
show=Falsetrong lệnh gọipredictcủ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 tensorrtSau 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.