Hướng dẫn khởi động nhanh: NVIDIA Jetson với Ultralytics YOLO11
Hướng dẫn toàn diện này cung cấp thông tin chi tiết về cách triển khai Ultralytics YOLO11 trên các thiết bị NVIDIA Jetson. Ngoài ra, nó còn trình bày các điểm chuẩn hiệu suất để chứng minh khả năng của YOLO11 trên các thiết bị nhỏ gọn và 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 Orin Nano Super Developer Kit mới nhất, cung cấp hiệu năng AI lên đến 67 TOPS — cải thiện 1,7 lần so với phiên bản tiền nhiệm — để chạy liền mạch các mô hình AI phổ biến nhất.
Xem: Cách sử dụng Ultralytics YOLO11 trên các thiết bị NVIDIA JETSON
Lưu ý
Hướng dẫn này đã được thử nghiệm với NVIDIA Jetson AGX Orin Developer Kit (64GB) chạy bản phát hành JetPack ổn định mới nhất là 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. Dự kiến nó sẽ hoạt động trên toàn bộ dòng phần cứng NVIDIA Jetson, bao gồm cả các phiên bản mới nhất và cũ hơn.
NVIDIA Jetson là gì?
NVIDIA Jetson là một dòng bo mạch máy tính nhúng được thiết kế để mang lại khả năng tính toán AI (trí tuệ nhân tạo) tăng tốc cho các thiết bị biên. Các 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ó khả năng chạy các thuật toán AI phức tạp và các mô hình học sâu trực tiếp trên thiết bị mà không cần dựa vào tài nguyên điện toán đám mây. Bo mạch Jetson thường được sử dụng trong robot, xe tự hành, tự động hóa công nghiệp và các ứng dụng khác, nơi suy luận AI cần được thực hiện cục bộ với độ trễ thấp và hiệu quả cao. Ngoài ra, các bo mạch này dựa trên kiến trúc ARM64 và chạy ở mức công suất thấp hơn so với các thiết bị điện toán GPU truyền thống.
So sánh các dòng NVIDIA Jetson
Jetson Orin là phiên bản mới nhất của dòng NVIDIA Jetson dựa trên kiến trúc NVIDIA Ampere, 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 vài thiết bị Jetson trong hệ sinh thái.
Jetson AGX Orin 64GB | Jetson Orin NX 16GB | Jetson Orin Nano Super | Jetson AGX Xavier | Jetson Xavier NX | Jetson Nano | |
---|---|---|---|---|---|---|
Hiệu suất AI | 275 TOPS | 100 TOPS | 67 TOPs | 32 TOPS | 21 TOPS | 472 GFLOPS |
GPU | GPU kiến trúc NVIDIA Ampere 2048 lõi với 64 Lõi Tensor | GPU kiến trúc NVIDIA Ampere 1024 lõi với 32 Lõi Tensor | GPU kiến trúc NVIDIA Ampere 1024 lõi với 32 Lõi Tensor | GPU kiến trúc NVIDIA Volta 512 lõi với 64 Lõi Tensor | GPU kiến trúc NVIDIA Volta™ 384 lõi với 48 Lõi Tensor | GPU kiến trúc NVIDIA Maxwell™ 128 lõi |
Tần số tối đa của GPU | 1.3 GHz | 918 MHz | 1020 MHz | 1377 MHz | 1100 MHz | 921MHz |
CPU | CPU 12 nhân NVIDIA Arm® Cortex A78AE v8.2 64-bit 3MB L2 + 6MB L3 | CPU 8 nhân NVIDIA Arm® Cortex A78AE v8.2 64-bit 2MB L2 + 4MB L3 | CPU 6 nhân Arm® Cortex®-A78AE v8.2 64-bit 1.5MB L2 + 4MB L3 | CPU 8 nhân NVIDIA Carmel Arm®v8.2 64-bit 8MB L2 + 4MB L3 | CPU 6 nhân NVIDIA Carmel Arm®v8.2 64-bit 6MB L2 + 4MB L3 | Bộ xử lý Quad-Core Arm® Cortex®-A57 MPCore |
Tần số tối đa của CPU | 2.2 GHz | 2.0 GHz | 1.7 GHz | 2.2 GHz | 1.9 GHz | 1.43GHz |
Bộ nhớ | 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" |
Để xem bảng so sánh chi tiết hơn, vui lòng truy cập phần Thông số kỹ thuật trên trang NVIDIA Jetson chính thức.
NVIDIA JetPack là gì?
NVIDIA JetPack SDK cung cấp năng lượng cho các mô-đun Jetson là giải pháp toàn diện nhất và cung cấp môi trường phát triển đầy đủ để xây dựng các ứng dụng AI được tăng tốc đầu cuối và rút ngắn thời gian đưa ra thị trường. JetPack bao gồm Jetson Linux với bộ nạp khởi động, hạt nhân Linux, 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 điện toán GPU, đa phương tiện, đồ họa và thị giác máy tính. Nó 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ộ công cụ dành cho nhà 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 đàm thoại.
Cài đặt JetPack vào NVIDIA Jetson
Bước đầu tiên sau khi có trong tay thiết bị NVIDIA Jetson là flash NVIDIA JetPack vào thiết bị. Có một số cách khác nhau để flash các thiết bị NVIDIA Jetson.
- Nếu bạn sở hữu một NVIDIA Development Kit chính thức, chẳng hạn như Jetson Orin Nano Developer Kit, bạn có thể tải xuống image 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ỳ NVIDIA Development Kit nào khác, bạn có thể flash JetPack vào 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ị của bên thứ ba nào khác được hỗ trợ bởi mô-đun NVIDIA Jetson, bạn nên làm theo hướng dẫn flash bằng dòng lệnh.
Lưu ý
Đối với phương pháp 3 và 4 ở 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" trên thiết bị đầu cuối để cài đặt tất cả các thành phần JetPack còn lại 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 | |
---|---|---|---|
Jetson Nano | ✅ | ❌ | ❌ |
Jetson TX2 | ✅ | ❌ | ❌ |
Jetson Xavier NX | ✅ | ✅ | ❌ |
Jetson AGX Xavier | ✅ | ✅ | ❌ |
Jetson AGX Orin | ❌ | ✅ | ✅ |
Jetson Orin NX | ❌ | ✅ | ✅ |
Jetson Orin Nano | ❌ | ✅ | ✅ |
Quick Start with Docker
Cách nhanh nhất để bắt đầu với Ultralytics YOLO11 trên NVIDIA Jetson là chạy bằng các image docker dựng sẵn cho Jetson. Tham khảo bảng trên và chọn phiên bản JetPack theo thiết bị Jetson bạn sở hữu.
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
Sau khi hoàn tất, hãy chuyển đến phần Sử dụng TensorRT trên NVIDIA Jetson.
Start with Native Installation
Để cài đặt gốc mà không cần Docker, vui lòng tham khảo các bước bên dưới.
Chạy trên JetPack 6.1
Cài đặt Gói Ultralytics
Ở đây, chúng ta sẽ cài đặt gói Ultralytics trên Jetson cùng với các dependency 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 ta sẽ tập trung chủ yếu vào xuất NVIDIA TensorRT vì TensorRT sẽ đảm bảo chúng ta có thể khai thác tối đa hiệu suất của các thiết bị Jetson.
-
Cập nhật danh sách các 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
ultralytics
gói pip với các dependency tùy chọnpip install ultralytics[export]
-
Khởi động lại thiết bị
sudo reboot
Install PyTorch and Torchvision
Việc cài đặt Ultralytics ở trên sẽ cài đặt 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 nền tảng Jetson dựa trên kiến trúc ARM64. Do đó, chúng ta cần cài đặt thủ công PyTorch pip wheel dựng sẵn và biên dịch/cài đặt Torchvision từ source.
Cài đặt torch 2.5.0
và torchvision 0.20
theo 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
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. Để có danh sách chi tiết hơn về khả năng tương thích của PyTorch, Torchvision, hãy truy cập trang khả năng tương thích của PyTorch và Torchvision.
Cài đặt cuSPARSELt
để khắc phục sự cố phụ thuộc với 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
Cài đặt onnxruntime-gpu
Hàm onnxruntime-gpu gói được lưu trữ trong PyPI không có aarch64
các binary cho Jetson. Vì vậy, chúng ta cần cài đặt thủ công gói này. Gói này là cần thiết cho một số export.
Bạn có thể tìm thấy tất cả onnxruntime-gpu
các gói—đượ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 Jetson Zoo ONNX Runtime. Tại đây chúng ta sẽ tải xuống và cài đặt onnxruntime-gpu 1.20.0
với Python3.10
hỗ trợ.
pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/onnxruntime_gpu-1.20.0-cp310-cp310-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. Vì vậy, chúng ta cần cài đặt lại numpy thành 1.23.5
để khắc phục sự cố bằng cách thực thi:
pip install numpy==1.23.5
Chạy trên JetPack 5.1.2
Cài đặt Gói Ultralytics
Ở đây, chúng ta sẽ cài đặt gói Ultralytics trên Jetson cùng với các dependency 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 ta sẽ tập trung chủ yếu vào xuất NVIDIA TensorRT vì TensorRT sẽ đảm bảo chúng ta có thể khai thác tối đa hiệu suất của các thiết bị Jetson.
-
Cập nhật danh sách các 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
ultralytics
gói pip với các dependency tùy chọnpip install ultralytics[export]
-
Khởi động lại thiết bị
sudo reboot
Install PyTorch and Torchvision
Việc cài đặt Ultralytics ở trên sẽ cài đặt 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 nền tảng Jetson dựa trên kiến trúc ARM64. Do đó, chúng ta cần cài đặt thủ công PyTorch pip wheel dựng sẵn và biên dịch/cài đặt Torchvision từ source.
-
Gỡ cài đặt PyTorch và Torchvision hiện tại.
pip uninstall torch torchvision
-
Cài đặt
torch 2.2.0
vàtorchvision 0.17.2
theo 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
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. Để có danh sách chi tiết hơn về khả năng tương thích của PyTorch, Torchvision, hãy truy cập trang khả năng tương thích của PyTorch và Torchvision.
Cài đặt onnxruntime-gpu
Hàm onnxruntime-gpu gói được lưu trữ trong PyPI không có aarch64
các binary cho Jetson. Vì vậy, chúng ta cần cài đặt thủ công gói này. Gói này là cần thiết cho một số export.
Bạn có thể tìm thấy tất cả onnxruntime-gpu
các gói—đượ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 Jetson Zoo ONNX Runtime. Tại đây chúng ta sẽ tải xuống và cài đặt onnxruntime-gpu 1.17.0
với Python3.8
hỗ trợ.
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. Vì vậy, chúng ta cần cài đặt lại numpy thành 1.23.5
để khắc phục sự cố bằng cách thực thi:
pip install numpy==1.23.5
Use TensorRT on NVIDIA Jetson
Trong số tất cả các định dạng xuất mô hình được Ultralytics hỗ trợ, TensorRT mang lại hiệu suất suy luận cao nhất trên các thiết bị NVIDIA Jetson, khiến nó trở thành đề xuất hàng đầu của chúng tôi cho việc triển khai trên Jetson. Để biết hướng dẫn thiết lập và sử dụng nâng cao, hãy xem hướng dẫn tích hợp TensorRT chuyên dụng của chúng tôi.
Chuyển đổi mô hình sang TensorRT và chạy suy luận
Mô hình YOLO11n ở định dạng PyTorch được chuyển đổi sang TensorRT để chạy suy luận với mô hình đã xuất.
Ví dụ
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'
Lưu ý
Truy cập trang Xuất để truy cập các đối số bổ sung khi xuất mô hình sang các định dạng mô hình khác nhau
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 trong các thiết bị NVIDIA Jetson, giúp tối ưu hóa suy luận học sâu để tiết kiệm năng lượng và tăng hiệu suất. 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 mô hình 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 cao, lý tưởng cho các hệ thống nhúng và các ứ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 | Lõi DLA | Tần Số Tối Đ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 |
Ví dụ
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'
Lưu ý
Khi sử dụng DLA exports, một số layer có thể không được hỗ trợ để chạy trên DLA và sẽ quay trở lại GPU để thực thi. Việc quay trở lại này có thể gây thêm độ trễ 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 TensorRT chạy 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 NVIDIA Jetson Orin YOLO11
Điểm chuẩn YOLO11 được nhóm Ultralytics chạy trên 10 định dạng mô hình khác nhau để đo tốc độ và độ chính xác: PyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN. Điểm chuẩn được chạy trên NVIDIA Jetson AGX Orin Developer Kit (64GB), NVIDIA Jetson Orin Nano Super Developer Kit và Seeed Studio reComputer J4012 được trang bị thiết bị Jetson Orin NX 16GB ở FP32 độ chính xác với kích thước hình ảnh đầu vào mặc định là 640.
Biểu đồ So sánh
Mặc dù tất cả các định dạng xuất mô hình đều hoạt động với NVIDIA Jetson, nhưng 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 mang lại 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 định dạng xuất trong phần sau biểu đồ này.
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 mô hình khác nhau (YOLO11n, YOLO11s, YOLO11m, YOLO11l, YOLO11x) trên mười định dạng khác nhau (PyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN), cho chúng ta biết trạng thái, kích thước, số liệu mAP50-95(B) và thời gian suy luận cho mỗi tổ hợp.
NVIDIA Jetson AGX Orin Developer Kit (64GB)
Hiệu suất
Định dạng | Trạng thái | Dung lượng trên ổ cứng (MB) | mAP50-95(B) | Thời gian suy luận (ms/ảnh) |
---|---|---|---|---|
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 |
Định dạng | Trạng thái | Dung lượng trên ổ cứng (MB) | mAP50-95(B) | Thời gian suy luận (ms/ảnh) |
---|---|---|---|---|
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 |
Định dạng | Trạng thái | Dung lượng trên ổ cứng (MB) | mAP50-95(B) | Thời gian suy luận (ms/ảnh) |
---|---|---|---|---|
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 |
Định dạng | Trạng thái | Dung lượng trên ổ cứng (MB) | mAP50-95(B) | Thời gian suy luận (ms/ảnh) |
---|---|---|---|---|
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 |
Định dạng | Trạng thái | Dung lượng trên ổ cứng (MB) | mAP50-95(B) | Thời gian suy luận (ms/ảnh) |
---|---|---|---|---|
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 |
Được đánh giá bằng Ultralytics 8.3.157
Lưu ý
Thời gian suy luận không bao gồm tiền/hậu xử lý.
NVIDIA Jetson Orin Nano Super Developer Kit
Hiệu suất
Định dạng | Trạng thái | Dung lượng trên ổ cứng (MB) | mAP50-95(B) | Thời gian suy luận (ms/ảnh) |
---|---|---|---|---|
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 |
Định dạng | Trạng thái | Dung lượng trên ổ cứng (MB) | mAP50-95(B) | Thời gian suy luận (ms/ảnh) |
---|---|---|---|---|
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 |
Định dạng | Trạng thái | Dung lượng trên ổ cứng (MB) | mAP50-95(B) | Thời gian suy luận (ms/ảnh) |
---|---|---|---|---|
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 |
Định dạng | Trạng thái | Dung lượng trên ổ cứng (MB) | mAP50-95(B) | Thời gian suy luận (ms/ảnh) |
---|---|---|---|---|
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 |
Định dạng | Trạng thái | Dung lượng trên ổ cứng (MB) | mAP50-95(B) | Thời gian suy luận (ms/ảnh) |
---|---|---|---|---|
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 |
Được đánh giá bằng Ultralytics 8.3.157
Lưu ý
Thời gian suy luận không bao gồm tiền/hậu xử lý.
NVIDIA Jetson Orin NX 16GB
Hiệu suất
Định dạng | Trạng thái | Dung lượng trên ổ cứng (MB) | mAP50-95(B) | Thời gian suy luận (ms/ảnh) |
---|---|---|---|---|
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 |
Định dạng | Trạng thái | Dung lượng trên ổ cứng (MB) | mAP50-95(B) | Thời gian suy luận (ms/ảnh) |
---|---|---|---|---|
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 |
Định dạng | Trạng thái | Dung lượng trên ổ cứng (MB) | mAP50-95(B) | Thời gian suy luận (ms/ảnh) |
---|---|---|---|---|
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 |
Định dạng | Trạng thái | Dung lượng trên ổ cứng (MB) | mAP50-95(B) | Thời gian suy luận (ms/ảnh) |
---|---|---|---|---|
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 |
Định dạng | Trạng thái | Dung lượng trên ổ cứng (MB) | mAP50-95(B) | Thời gian suy luận (ms/ảnh) |
---|---|---|---|---|
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 |
Được đánh giá bằng Ultralytics 8.3.157
Lưu ý
Thời gian suy luận không bao gồm tiền/hậu xử lý.
Khám phá thêm các nỗ lực đo điểm chuẩn của 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 điểm chuẩn Ultralytics ở trên trên tất cả các định dạng xuất, hãy chạy đoạn mã này:
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 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
Xin lưu ý rằng kết quả đánh giá hiệu năng có thể khác nhau tùy thuộc vào cấu hình phần cứng và phần mềm chính xác 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 đánh giá. Để có kết quả đáng tin cậy nhất, hãy sử dụng bộ dữ liệu có số lượng lớn hình ảnh, 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 hay nhất cần tuân theo để cho phép hiệu suất tối đa trên NVIDIA Jetson khi chạy YOLO11.
-
Bật Chế độ Nguồn Tối đa
Bật Chế độ Nguồn Tối đa trên Jetson sẽ đảm bảo tất cả các lõi CPU, GPU được bật.
sudo nvpmodel -m 0
-
Bật Đồng hồ Jetson
Bật Đồng hồ Jetson sẽ đảm bảo tất cả các lõi CPU, GPU được định thời ở tần số tối đa của chúng.
sudo jetson_clocks
-
Cài đặt Ứng dụng Jetson Stats
Chúng ta có thể sử dụng ứng dụng jetson stats để theo dõi 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, chẳng hạn như xem mức sử dụng CPU, GPU, RAM, thay đổi chế độ nguồn, đặt thành đồng hồ tối đa, kiểm tra thông tin JetPack
sudo apt update sudo pip install jetson-stats sudo reboot jtop
Các bước tiếp theo
Chúc mừng bạn đã thiết lập thành công YOLO11 trên NVIDIA Jetson của mình! Để tìm hiểu thêm và được hỗ trợ, hãy truy cập hướng dẫn khác tại Tài liệu Ultralytics YOLO11!
Câu hỏi thường gặp
Làm cách nào để triển khai Ultralytics YOLO11 trên các thiết bị NVIDIA Jetson?
Việc triển khai Ultralytics YOLO11 trên các thiết bị NVIDIA Jetson là một quy trình đơn giản. Đầu tiên, hãy flash thiết bị Jetson của bạn bằng NVIDIA JetPack SDK. Sau đó, sử dụng ảnh Docker 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 phương pháp có thể được tìm thấy trong các phần Bắt đầu nhanh với Docker và Bắt đầu với Cài đặt Gốc.
Tôi có thể mong đợi những điểm chuẩn hiệu suất nào từ các mô hình YOLO11 trên các thiết bị NVIDIA Jetson?
Các mô hình YOLO11 đã được thử nghiệm trên nhiều thiết bị NVIDIA Jetson khác nhau, cho thấy sự cải thiện đáng kể về hiệu suất. Ví dụ: định dạng TensorRT mang lại hiệu suất suy luận 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 số liệu hiệu suất như mAP50-95 và thời gian suy luận trên các định dạng mô hình khác nhau.
Tại sao tôi nên sử dụng TensorRT để triển khai YOLO11 trên NVIDIA Jetson?
TensorRT được đặc biệt khuyên dùng để triển khai các mô hình YOLO11 trên NVIDIA Jetson vì hiệu suất tối ưu của nó. Nó tăng tốc suy luận 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 suy luận trong phần Sử dụng TensorRT trên NVIDIA Jetson.
Làm cách nào để 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 mọi phiên bản hiện có đã đượ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.
Những phương pháp tối ưu nào để đạt hiệu suất cao nhất trên NVIDIA Jetson khi sử dụng YOLO11?
Để tối đa hóa hiệu suất trên NVIDIA Jetson với YOLO11, hãy làm theo các phương pháp tốt nhất sau:
- Bật Chế độ Nguồn Tối đa (MAX Power Mode) để sử dụng tất cả các lõi CPU và GPU.
- Bật Jetson Clocks để chạy tất cả các lõi ở tần số tối đa của chúng.
- Cài đặt ứng dụng Jetson Stats để theo dõi các số liệu 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.