Chuyển đến nội dung

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

Hệ sinh thái 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.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. 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.

  1. 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ị.
  2. 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.
  3. 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.
  4. 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.

  1. 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
    
  2. Cài đặt ultralytics gói pip với các dependency tùy chọn

    pip install ultralytics[export]
    
  3. 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.0torchvision 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.

  1. 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
    
  2. Cài đặt ultralytics gói pip với các dependency tùy chọn

    pip install ultralytics[export]
    
  3. 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.

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

    pip uninstall torch torchvision
    
  2. Cài đặt torch 2.2.0torchvision 0.17.2 theo JP5.1.2

    pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torch-2.2.0-cp38-cp38-linux_aarch64.whl
    pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torchvision-0.17.2+c1d70fe-cp38-cp38-linux_aarch64.whl
    

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)

Benchmark Jetson AGX Orin
Được đánh giá bằng Ultralytics 8.3.157

NVIDIA Jetson Orin Nano Super Developer Kit

Điểm chuẩn Jetson Orin Nano Super
Được đánh giá bằng Ultralytics 8.3.157

NVIDIA Jetson Orin NX 16GB

Điểm chuẩn Jetson Orin NX 16GB
Được đánh giá bằng Ultralytics 8.3.157

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.

  1. 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
    
  2. 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
    
  3. 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
    

Jetson Stats

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 DockerBắ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:

  1. Bật Chế độ Nguồn Tối đa (MAX Power Mode) để sử dụng tất cả các lõi CPU và GPU.
  2. Bật Jetson Clocks để chạy tất cả các lõi ở tần số tối đa của chúng.
  3. 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.



📅 Đã tạo 1 năm trước ✏️ Cập nhật 2 tháng trước

Bình luận