Điểm chuẩn mô hình với Ultralytics YOLO
Hình ảnh chuẩn mực
Làm mới trình duyệt
Bạn có thể cần phải làm mới trang để xem biểu đồ chính xác do có thể xảy ra sự cố về cookie.
Giới thiệu
Sau khi mô hình của bạn được đào tạo và xác thực, bước hợp lý tiếp theo là đánh giá hiệu suất của nó trong nhiều tình huống thực tế khác nhau. Chế độ chuẩn trong Ultralytics YOLO11 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 của bạn trên nhiều định dạng xuất.
Xem: Ultralytics Chế độ Hướng dẫn: Điểm chuẩn
Tại sao điểm chuẩn lại quan trọng?
- Quyết định sáng suốt: Có được thông tin chi tiết về sự đánh đổi giữa tốc độ và độ chính xác.
- Phân bổ nguồn lực: Hiểu các định dạng xuất khác nhau hoạt động như thế nào 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 tài nguyên phần cứng dựa trên kết quả điểm chuẩn.
Các chỉ số chính trong chế độ điểm chuẩn
- mAP50-95: Dùng để phát hiện đối tượng , phân đoạn và ước tính tư thế.
- accuracy_top5: Dành cho phân loại hình ảnh .
- Thời gian suy luận: Thời gian thực hiện cho mỗi hình ảnh tính bằng mili giây.
Các định dạng xuất được hỗ trợ
- ONNX: Để tối ưu CPU hiệu năng
- TensorRT: Cho tối đa GPU hiệu quả
- OpenVINO: Đối với Intel Tối ưu hóa phần cứng
- CoreML, TensorFlow SavedModelvà hơn thế nữa: Dành cho nhu cầu triển khai đa dạng.
Mẹo
- Xuất sang ONNX hoặc OpenVINO cho tối đa 3x CPU Speedup.
- Xuất sang TensorRT cho tối đa 5x GPU Speedup.
Ví dụ sử dụng
Chạy chuẩn YOLO11n trên tất cả các định dạng xuất được hỗ trợ bao gồm ONNX , TensorRT v.v. Xem phần Đối số bên dưới để biết danh sách đầy đủ các đối số xuất.
Ví dụ
Lập luận
Các đối số như model
, data
, imgsz
, half
, device
và verbose
Cung cấp cho người dùng sự linh hoạt để tinh chỉnh các điểm chuẩn theo nhu cầu cụ thể của họ và so sánh hiệu suất của các định dạng xuất khác nhau một cách dễ dàng.
Chìa khoá | Giá trị mặc định | Sự miêu tả |
---|---|---|
model | None | Chỉ định đường dẫn đến tệp mô hình. Chấp nhận cả hai .pt và .yaml định dạng, ví dụ: "yolo11n.pt" cho các mô hình được đào tạo trước hoặc tệp cấu hình. |
data | None | Đường dẫn đến tệp YAML xác định tập dữ liệu để đánh giá chuẩn, thường bao gồm đường dẫn và cài đặt cho dữ liệu xác thực. Ví dụ: "coco8.yaml" . |
imgsz | 640 | Kích thước hình ảnh đầu vào cho mô hình. Có thể là một số nguyên duy nhất cho hình ảnh vuông hoặc bộ dữ liệu (width, height) đối với không vuông, ví dụ: (640, 480) . |
half | False | Cho phép suy luận FP16 (nửa chính xác), 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. Dùng half=True để kích hoạt. |
int8 | False | Kí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. Cài int8=True để sử dụng. |
device | None | Xác định (các) thiết bị tính toán để đo điểm chuẩn, chẳng hạn như "cpu" hoặc "cuda:0" . |
verbose | False | Kiểm soát mức độ chi tiết trong việc ghi nhật ký đầu ra. Giá trị boolean; cài verbose=True để biết nhật ký chi tiết hoặc phao cho các lỗi ngưỡng. |
Định dạng xuất
Điểm chuẩn sẽ cố gắng chạy tự động trên tất cả các định dạng xuất có thể có bên dưới.
Định dạng | format Lý lẽ | Mẫu | Siêu dữ liệu | Lập luận |
---|---|---|---|---|
PyTorch | - | yolo11n.pt | ✅ | - |
TorchScript | torchscript | yolo11n.torchscript | ✅ | imgsz , optimize , batch |
ONNX | onnx | yolo11n.onnx | ✅ | imgsz , half , dynamic , simplify , opset , batch |
OpenVINO | openvino | yolo11n_openvino_model/ | ✅ | imgsz , half , int8 , batch |
TensorRT | engine | yolo11n.engine | ✅ | imgsz , half , dynamic , simplify , workspace , int8 , batch |
CoreML | coreml | yolo11n.mlpackage | ✅ | imgsz , half , int8 , nms , batch |
TF SavedModel | saved_model | yolo11n_saved_model/ | ✅ | imgsz , keras , int8 , batch |
TF GraphDef | pb | yolo11n.pb | ❌ | imgsz , batch |
TF Lite | tflite | yolo11n.tflite | ✅ | imgsz , half , int8 , batch |
TF Cạnh TPU | edgetpu | yolo11n_edgetpu.tflite | ✅ | imgsz |
TF.Js | tfjs | yolo11n_web_model/ | ✅ | imgsz , half , int8 , batch |
PaddlePaddle | paddle | yolo11n_paddle_model/ | ✅ | imgsz , batch |
MNN | mnn | yolo11n.mnn | ✅ | imgsz , batch , int8 , half |
NCNN | ncnn | yolo11n_ncnn_model/ | ✅ | imgsz , half , batch |
IMX500 | imx | yolo11n_imx_model/ | ✅ | imgsz , int8 |
Xem đầy đủ export
Chi tiết trong Xuất khẩu trang.
FAQ
Làm thế nào để tôi đánh giá hiệu suất của mô hình YOLO11 của mình bằng cách sử dụng Ultralytics ?
Ultralytics YOLO11 cung cấp chế độ Benchmark để đánh giá hiệu suất của mô hình của bạn 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 số liệu 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 chuẩn, bạn có thể sử dụng Python hoặc CLI lệnh. Ví dụ, để đánh giá chuẩn trên một GPU :
Ví dụ
Để biết thêm chi tiết về các đối số chuẩn, hãy truy cập phần Đối số .
Lợi ích của việc xuất mô hình YOLO11 sang các định dạng khác nhau là gì?
Xuất các mô hình YOLO11 sang các định dạng khác nhau như ONNX , TensorRT , Và OpenVINO 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 bạn. Ví dụ:
- ONNX: Cung cấp lên đến 3x CPU Speedup.
- TensorRT: Ưu đãi lên đến 5x GPU Speedup.
- OpenVINO : Được tối ưu hóa đặc biệt cho Intel phần cứng. Các định dạng này tăng cường cả tốc độ và độ chính xác của mô hình của bạn, giúp chúng hiệu quả hơn cho nhiều ứng dụng thực tế khác nhau. Truy cập trang Xuất để biết thông tin chi tiết đầy đủ.
Tại sao việc đánh giá chuẩn lại quan trọng khi đánh giá các mô hình YOLO11?
Việc đánh giá chuẩn các mô hình YOLO11 của bạn là điều cần thiết vì một số lý do:
- Quyết định sáng suốt: Hiểu được sự đánh đổi giữa tốc độ và độ chính xác.
- Phân bổ nguồn lực: Đá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 cung cấp 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ả chuẩn. Các số liệu chính như mAP50-95, độ chính xác Top-5 và thời gian suy luận giúp đưa ra những đánh giá này. Tham khảo phần Số liệu chính để biết thêm thông tin.
YOLO11 hỗ trợ những định dạng xuất nào và ưu điểm của chúng là gì?
YOLO11 hỗ trợ nhiều định dạng xuất khác nhau, mỗi định dạng được thiết kế riêng cho phần cứng và trường hợp sử dụng cụ thể:
- ONNX: Tốt nhất cho CPU hiệu năng.
- TensorRT: Lý tưởng cho GPU hiệu quả.
- OpenVINO: Tối ưu hóa cho Intel phần cứng.
- CoreML & TensorFlow : Hữu ích cho iOS và các ứng dụng ML chung. Để biết 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 Định dạng xuất được hỗ trợ .
Tôi có thể sử dụng những lập luận nào để tinh chỉnh chuẩn mực YOLO11 của mình?
Khi chạy điểm chuẩn, một số đối số có thể được tùy chỉnh để phù hợp với nhu cầu cụ thể:
- model: Đường dẫn đến tệp mô hình (ví dụ: "yolo11n.pt").
- dữ liệu: Đường dẫn đến tệp YAML xác định tập dữ liệu (ví dụ: "coco8.yaml").
- IMGSZ: Kích thước hình ảnh đầu vào, dưới dạng một số nguyên hoặc một bộ dữ liệu.
- nửa: 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.
- thiết bị: 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ý. Để biết danh sách đầy đủ các đối số, hãy tham khảo phần Đối số .