Điểm chuẩn mô hình với Ultralytics YOLO
Giới thiệu
Khi mô hình của bạn được đào tạo và xác nhận, 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ế độ điểm chuẩn trong Ultralytics YOLOv8 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 một loạt các đị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: Để phát hiện đối tượng, phân đoạn và ước tính tư thế.
- accuracy_top5: Để 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: Để có hiệu suất CPU tối ưu
- TensorRT: Để có hiệu quả GPU tối đa
- OpenVINO: Để tối ưu hóa phần cứng Intel
- 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 để tăng tốc CPU lên đến 3x.
- Xuất sang TensorRT để tăng tốc GPU lên đến 5x.
Ví dụ sử dụng
Chạy YOLOv8n Điểm chuẩn 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ụ: "yolov8n.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 để đo điểm 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" , "cuda:0" hoặc danh sách các thiết bị như "cuda:0,1" để thiết lập nhiều GPU. |
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 | - | yolov8n.pt |
✅ | - |
TorchScript | torchscript |
yolov8n.torchscript |
✅ | imgsz , optimize , batch |
ONNX | onnx |
yolov8n.onnx |
✅ | imgsz , half , dynamic , simplify , opset , batch |
OpenVINO | openvino |
yolov8n_openvino_model/ |
✅ | imgsz , half , int8 , batch |
TensorRT | engine |
yolov8n.engine |
✅ | imgsz , half , dynamic , simplify , workspace , batch |
CoreML | coreml |
yolov8n.mlpackage |
✅ | imgsz , half , int8 , nms , batch |
TF SavedModel | saved_model |
yolov8n_saved_model/ |
✅ | imgsz , keras , int8 , batch |
TF GraphDef | pb |
yolov8n.pb |
❌ | imgsz , batch |
TF Lite | tflite |
yolov8n.tflite |
✅ | imgsz , half , int8 , batch |
TF Cạnh TPU | edgetpu |
yolov8n_edgetpu.tflite |
✅ | imgsz , batch |
TF.Js | tfjs |
yolov8n_web_model/ |
✅ | imgsz , half , int8 , batch |
PaddlePaddle | paddle |
yolov8n_paddle_model/ |
✅ | imgsz , batch |
NCNN | ncnn |
yolov8n_ncnn_model/ |
✅ | imgsz , half , batch |
Xem đầy đủ export
Chi tiết trong Xuất khẩu trang.
Đã tạo 2023-11-12, Cập nhật 2024-04-27
Tác giả: glenn-jocher (12), Burhan-Q (1), RizwanMunawar (1), Laughing-q (1), maianumerosky (1)