Cách huấn luyện, xác thực, dự đoán, xuất và đánh giá hiệu năng với các mô hình Ultralytics YOLO

24 tháng 7, 2024
Tìm hiểu cách huấn luyện, xác thực, dự đoán, xuất và đánh giá hiệu năng (benchmark) với Ultralytics YOLO Models!

24 tháng 7, 2024
Tìm hiểu cách huấn luyện, xác thực, dự đoán, xuất và đánh giá hiệu năng (benchmark) với Ultralytics YOLO Models!
Hãy cùng đi sâu vào thế giới của Ultralytics và khám phá các chế độ khác nhau có sẵn cho các mô hình YOLO khác nhau. Cho dù bạn đang huấn luyện các mô hình phát hiện đối tượng tùy chỉnh hay làm việc trên phân đoạn, việc hiểu các chế độ này là một bước quan trọng. Hãy bắt đầu ngay!
Thông qua tài liệu của Ultralytics, bạn sẽ tìm thấy nhiều chế độ mà bạn có thể sử dụng cho các mô hình của mình, cho dù đó là để huấn luyện, xác thực, dự đoán, xuất, đánh giá hiệu năng hay theo dõi. Mỗi chế độ này phục vụ một mục đích riêng và giúp bạn tối ưu hóa hiệu suất và triển khai mô hình của mình.
Đầu tiên, hãy xem chế độ huấn luyện. Đây là nơi bạn xây dựng và tinh chỉnh mô hình của mình. Bạn có thể tìm thấy hướng dẫn chi tiết và hướng dẫn bằng video trong tài liệu, giúp bạn dễ dàng bắt đầu huấn luyện các mô hình tùy chỉnh của mình.
Huấn luyện mô hình bao gồm cung cấp cho mô hình một bộ dữ liệu mới, cho phép nó học các mẫu khác nhau. Sau khi được huấn luyện, mô hình có thể được sử dụng trong thời gian thực để phát hiện các đối tượng mới mà nó đã được huấn luyện. Trước khi bắt đầu quá trình huấn luyện, điều cần thiết là phải chú thích bộ dữ liệu của bạn ở định dạng YOLO.
Tiếp theo, chúng ta hãy đi sâu vào chế độ validate. Xác thực là điều cần thiết để điều chỉnh các siêu tham số và đảm bảo mô hình của bạn hoạt động tốt. Ultralytics cung cấp nhiều tùy chọn xác thực, bao gồm cài đặt tự động, hỗ trợ đa số liệu và khả năng tương thích với Python API. Bạn thậm chí có thể chạy xác thực trực tiếp thông qua giao diện dòng lệnh (CLI) với lệnh bên dưới.
Xác thực rất quan trọng vì:
Ultralytics cũng cung cấp các ví dụ người dùng mà bạn có thể sao chép và dán vào các tập lệnh Python của mình. Các ví dụ này bao gồm các tham số như kích thước hình ảnh, kích thước lô, thiết bị (CPU hoặc GPU) và intersection over union (IoU).
Sau khi mô hình của bạn được huấn luyện và xác thực, đã đến lúc đưa ra dự đoán. Chế độ Predict cho phép bạn chạy suy luận trên dữ liệu mới và xem mô hình của bạn hoạt động. Chế độ này hoàn hảo để kiểm tra hiệu suất của mô hình trên dữ liệu thực tế.
Với đoạn mã python bên dưới, bạn sẽ có thể chạy dự đoán trên hình ảnh của mình!
Sau khi xác thực và dự đoán, bạn có thể muốn triển khai mô hình của mình. Chế độ export cho phép bạn chuyển đổi mô hình của mình thành nhiều định dạng khác nhau, chẳng hạn như ONNX hoặc TensorRT, giúp bạn dễ dàng triển khai trên các nền tảng khác nhau.
Cuối cùng, chúng ta có chế độ benchmark. Đánh giá benchmark là điều cần thiết để đánh giá hiệu suất mô hình của bạn trong các tình huống khác nhau. Chế độ này giúp bạn đưa ra các quyết định sáng suốt về phân bổ tài nguyên, tối ưu hóa và hiệu quả chi phí.
Để chạy điểm chuẩn, bạn có thể sử dụng các ví dụ người dùng được cung cấp trong tài liệu. Các ví dụ này bao gồm các số liệu chính và định dạng xuất, bao gồm ONNX và TensorRT. Bạn cũng có thể chỉ định các tham số như lượng tử hóa số nguyên (INT8) hoặc lượng tử hóa dấu phẩy động (FP16) để xem các cài đặt khác nhau ảnh hưởng đến hiệu suất như thế nào.
Hãy xem xét một ví dụ thực tế về việc đo điểm chuẩn. Khi chúng tôi đo điểm chuẩn mô hình PyTorch của mình, chúng tôi nhận thấy tốc độ suy luận là 68 mili giây trên GPU RTX 3070. Sau khi xuất sang TorchScript, tốc độ suy luận giảm xuống còn 4 mili giây, cho thấy sự cải thiện đáng kể.
Đối với các mô hình ONNX, chúng tôi đạt được tốc độ suy luận là 21 mili giây. Kiểm tra các mô hình này trên CPU (Intel i9 thế hệ thứ 13), chúng tôi thấy các kết quả khác nhau. TorchScript chạy ở 115 mili giây, trong khi ONNX hoạt động tốt hơn ở 84 mili giây. Cuối cùng, OpenVINO được tối ưu hóa cho phần cứng Intel đạt được tốc độ cực nhanh là 23 mili giây.
Đánh giá điểm chuẩn cho thấy các phần cứng và định dạng xuất khác nhau có thể ảnh hưởng đến hiệu suất của mô hình của bạn như thế nào. Điều quan trọng là phải đánh giá điểm chuẩn cho các mô hình của bạn, đặc biệt nếu bạn định triển khai chúng trên phần cứng tùy chỉnh hoặc thiết bị biên. Quá trình này đảm bảo mô hình của bạn được tối ưu hóa cho môi trường mục tiêu, mang lại hiệu suất tốt nhất có thể.
Tóm lại, các mode (chế độ) trong tài liệu Ultralytics là những công cụ mạnh mẽ để huấn luyện, xác thực, dự đoán, xuất và đánh giá hiệu năng (benchmark) các mô hình YOLO của bạn. Mỗi mode đóng một vai trò quan trọng trong việc tối ưu hóa mô hình và chuẩn bị cho việc triển khai.
Đừng quên khám phá và tham gia cộng đồng của chúng tôi và thử các đoạn mã được cung cấp trong dự án của bạn. Với những công cụ này, bạn có thể tạo ra các mô hình hiệu suất cao và đảm bảo chúng chạy hiệu quả trong mọi môi trường.