Chuyển đến nội dung

Đánh giá hiệu năng mô hình với Ultralytics YOLO

Hệ sinh thái và tích hợp Ultralytics YOLO

Trực quan hóa Benchmark

Tải lại trình duyệt

Bạn có thể cần tải lại trang để xem đồ thị một cách chính xác do các vấn đề tiềm ẩn về cookie.

Giới thiệu

Sau khi mô hình của bạn được huấn luyện và xác thực, bước hợp lý tiếp theo là đánh giá hiệu suất của nó trong các tình huống thực tế khác nhau. Chế độ Benchmark trong Ultralytics YOLO26 phục vụ mục đích này bằng cách cung cấp một khuôn khổ mạnh mẽ để đánh giá tốc độ và độ chính xác của mô hình trên nhiều định dạng xuất.



Xem: Benchmark Mô hình Ultralytics YOLO26 | Cách So Sánh Hiệu Suất Mô Hình Trên Các Phần Cứng Khác Nhau?

Tại sao Benchmark lại Quan trọng?

  • Đưa ra quyết định sáng suốt: Hiểu rõ sự đánh đổi giữa tốc độ và độ chính xác.
  • Phân bổ nguồn lực: Hiểu cách các định dạng xuất khác nhau hoạt động trên các phần cứng khác nhau.
  • Tối ưu hóa: Tìm hiểu định dạng xuất nào mang lại hiệu suất tốt nhất cho trường hợp sử dụng cụ thể của bạn.
  • Hiệu quả chi phí: Sử dụng hiệu quả hơn các tài nguyên phần cứng dựa trên kết quả đánh giá hiệu năng.

Các Số liệu Chính trong Chế độ Benchmark

Các Định dạng Xuất được Hỗ trợ

  • ONNX: Để có hiệu suất CPU tối ưu
  • TensorRT: Để đạt hiệu quả GPU tối đa
  • OpenVINO: Để tối ưu hóa phần cứng Intel
  • CoreML, TensorFlow SavedModel và hơn thế nữa: Cho các nhu cầu triển khai đa dạng.

Mẹo

  • Xuất sang ONNX hoặc OpenVINO để tăng tốc CPU lên đến 3 lần.
  • Xuất sang TensorRT để tăng tốc GPU lên đến 5 lần.

Ví dụ sử dụng

Chạy các đánh giá hiệu năng (benchmarks) của YOLO26n trên tất cả các định dạng xuất được hỗ trợ (ONNX, TensorRT, v.v.). Tham khảo phần Đối số bên dưới để biết danh sách đầy đủ các tùy chọn xuất.

Ví dụ

from ultralytics.utils.benchmarks import benchmark

# Benchmark on GPU
benchmark(model="yolo26n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)

# Benchmark specific export format
benchmark(model="yolo26n.pt", data="coco8.yaml", imgsz=640, format="onnx")
yolo benchmark model=yolo26n.pt data='coco8.yaml' imgsz=640 half=False device=0

# Benchmark specific export format
yolo benchmark model=yolo26n.pt data='coco8.yaml' imgsz=640 format=onnx

Các đối số

Các đối số như model, data, imgsz, half, device, verboseformat cung cấp cho người dùng sự linh hoạt để tinh chỉnh các bài kiểm tra hiệu năng cho phù hợp với nhu cầu cụ thể của họ và dễ dàng so sánh hiệu suất của các định dạng xuất khác nhau.

KhóaGiá trị mặc địnhMô tả
modelNoneChỉ định đường dẫn đến tệp mô hình. Chấp nhận cả hai định dạng .pt.yaml , ví dụ: "yolo26n.pt" cho các mô hình tiền huấn luyện hoặc tệp cấu hình.
dataNoneĐường dẫn đến tệp YAML xác định bộ dữ liệu để kiểm tra hiệu năng, thường bao gồm đường dẫn và cài đặt cho dữ liệu xác thực. Ví dụ: "coco8.yaml".
imgsz640Kích thước ảnh đầu vào cho mô hình. Có thể là một số nguyên duy nhất cho ảnh vuông hoặc một bộ (width, height) cho ảnh không vuông, ví dụ: (640, 480).
halfFalseCho phép suy luận FP16 (độ chính xác nửa), giảm mức sử dụng bộ nhớ và có thể tăng tốc độ trên phần cứng tương thích. Sử dụng half=True để bật.
int8FalseKích hoạt lượng tử hóa INT8 để tối ưu hóa hơn nữa hiệu suất trên các thiết bị được hỗ trợ, đặc biệt hữu ích cho các thiết bị biên. Đặt int8=True để sử dụng.
deviceNoneXác định (các) thiết bị tính toán để kiểm tra hiệu năng, chẳng hạn như "cpu" hoặc "cuda:0".
verboseFalseKiểm soát mức độ chi tiết trong đầu ra nhật ký. Thiết lập verbose=True để biết nhật ký chi tiết.
format''Chỉ benchmark định dạng xuất được chỉ định (ví dụ, format=onnx). Hãy để trống để tự động kiểm tra mọi định dạng được hỗ trợ.

Định dạng xuất

Các bài kiểm tra chuẩn sẽ cố gắng chạy tự động trên tất cả các định dạng xuất khả thi được liệt kê bên dưới. Ngoài ra, bạn có thể chạy các bài kiểm tra chuẩn cho một định dạng cụ thể bằng cách sử dụng format đối số, chấp nhận bất kỳ định dạng nào được đề cập bên dưới.

Định dạngformat Đối sốMô hìnhMetadata (Siêu dữ liệu)Các đối số
PyTorch-yolo26n.pt-
TorchScripttorchscriptyolo26n.torchscriptimgsz, half, dynamic, optimize, nms, batch, device
ONNXonnxyolo26n.onnximgsz, half, dynamic, simplify, opset, nms, batch, device
OpenVINOopenvinoyolo26n_openvino_model/imgsz, half, dynamic, int8, nms, batch, data, fraction, device
TensorRTengineyolo26n.engineimgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device
CoreMLcoremlyolo26n.mlpackageimgsz, dynamic, half, int8, nms, batch, device
TF SavedModelsaved_modelyolo26n_saved_model/imgsz, keras, int8, nms, batch, device
TF GraphDefpbyolo26n.pbimgsz, batch, device
TF Litetfliteyolo26n.tfliteimgsz, half, int8, nms, batch, data, fraction, device
TF Edge TPUedgetpuyolo26n_edgetpu.tfliteimgsz, device
TF.jstfjsyolo26n_web_model/imgsz, half, int8, nms, batch, device
PaddlePaddlepaddleyolo26n_paddle_model/imgsz, batch, device
MNNmnnyolo26n.mnnimgsz, batch, int8, half, device
NCNNncnnyolo26n_ncnn_model/imgsz, half, batch, device
IMX500imxyolo26n_imx_model/imgsz, int8, data, fraction, device
RKNNrknnyolo26n_rknn_model/imgsz, batch, name, device
ExecuTorchexecutorchyolo26n_executorch_model/imgsz, device
Axeleraaxelerayolo26n_axelera_model/imgsz, int8, data, fraction, device

Xem đầy đủ export chi tiết trong Xuất trang.

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

Làm cách nào để benchmark hiệu suất mô hình YOLO26 của tôi bằng Ultralytics?

Ultralytics YOLO26 cung cấp chế độ Benchmark để đánh giá hiệu suất của mô hình trên các định dạng xuất khác nhau. Chế độ này cung cấp thông tin chi tiết về các chỉ số chính như độ chính xác trung bình (mAP50-95), độ chính xác và thời gian suy luận tính bằng mili giây. Để chạy các đánh giá hiệu năng, bạn có thể sử dụng lệnh python hoặc CLI. Ví dụ, để đánh giá hiệu năng trên GPU:

Ví dụ

from ultralytics.utils.benchmarks import benchmark

# Benchmark on GPU
benchmark(model="yolo26n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)
yolo benchmark model=yolo26n.pt data='coco8.yaml' imgsz=640 half=False device=0

Để biết thêm chi tiết về các đối số kiểm tra hiệu năng, hãy truy cập phần Arguments (Đối số).

Lợi ích của việc xuất mô hình YOLO26 sang các định dạng khác nhau là gì?

Việc xuất mô hình YOLO26 sang các định dạng khác nhau như ONNX, TensorRTOpenVINO cho phép bạn tối ưu hóa hiệu suất dựa trên môi trường triển khai của mình. Ví dụ:

  • ONNX: Cung cấp tốc độ CPU nhanh hơn tới 3 lần.
  • TensorRT: Cung cấp tốc độ GPU nhanh hơn tới 5 lần.
  • OpenVINO: Được tối ưu hóa đặc biệt cho phần cứng Intel.

Các định dạng này nâng cao cả tốc độ và độ chính xác của mô hình, làm cho chúng hiệu quả hơn cho các ứng dụng thực tế khác nhau. Truy cập trang Xuất để biết đầy đủ chi tiết.

Tại sao benchmarking lại quan trọng trong việc đánh giá các mô hình YOLO26?

Việc đánh giá hiệu năng các mô hình YOLO26 của bạn là rất cần thiết vì một số lý do sau:

  • Informed Decisions (Quyết định sáng suốt): Hiểu rõ sự đánh đổi giữa tốc độ và độ chính xác.
  • Resource Allocation (Phân bổ tài nguyên): Đánh giá hiệu suất trên các tùy chọn phần cứng khác nhau.
  • Tối ưu hóa: Xác định định dạng xuất nào mang lại hiệu suất tốt nhất cho các trường hợp sử dụng cụ thể.
  • Hiệu quả chi phí: Tối ưu hóa việc sử dụng phần cứng dựa trên kết quả điểm chuẩn.

Các chỉ số chính như mAP50-95, độ chính xác Top-5 và thời gian suy luận giúp thực hiện các đánh giá này. Tham khảo phần Các Chỉ số Chính để biết thêm thông tin.

YOLO26 hỗ trợ những định dạng xuất nào và ưu điểm của chúng là gì?

YOLO26 hỗ trợ nhiều định dạng xuất khác nhau, mỗi định dạng được tùy chỉnh cho phần cứng và trường hợp sử dụng cụ thể:

  • ONNX: Tốt nhất cho hiệu suất CPU.
  • TensorRT: Lý tưởng cho hiệu quả GPU.
  • OpenVINO: Được tối ưu hóa cho phần cứng Intel.
  • CoreML & TensorFlow: Hữu ích cho iOS và các ứng dụng ML nói chung.

Để có danh sách đầy đủ các định dạng được hỗ trợ và các ưu điểm tương ứng của chúng, hãy xem phần Các định dạng xuất được hỗ trợ.

Tôi có thể sử dụng những đối số nào để tinh chỉnh các benchmark YOLO26 của mình?

Khi chạy benchmark, một số đối số có thể được tùy chỉnh để phù hợp với các nhu cầu cụ thể:

  • model: Đường dẫn đến tệp mô hình (ví dụ: "yolo26n.pt").
  • data: Đường dẫn đến tệp yaml định nghĩa tập dữ liệu (ví dụ: "coco8.yaml").
  • imgsz: Kích thước hình ảnh đầu vào, có thể là một số nguyên duy nhất hoặc một bộ giá trị.
  • half: Bật suy luận FP16 để có hiệu suất tốt hơn.
  • int8: Kích hoạt lượng tử hóa INT8 cho các thiết bị biên.
  • device: Chỉ định thiết bị tính toán (ví dụ: "cpu", "cuda:0").
  • verbose: Kiểm soát mức độ chi tiết của nhật ký.

Để có danh sách đầy đủ các đối số, hãy tham khảo phần Đối số.



📅 Được tạo 2 năm trước ✏️ Cập nhật 2 ngày trước
glenn-jocherRizwanMunawarBurhan-Qambitious-octopuspderrengerlakshanthadY-T-GUltralyticsAssistantjk4eMatthewNoyceRizwanMunawar

Bình luận