Cách huấn luyện, xác thực, dự đoán, xuất và benchmark với các model Ultralytics YOLO
Tìm hiểu cách các chế độ train, val, predict, export, track và benchmark của Ultralytics YOLO hoạt động, cùng các mẹo về chỉ số validation và kết quả benchmark thực tế.
Nuvola Ladi5 phút đọc
Các model Ultralytics YOLO có nhiều mode bao quát toàn bộ vòng đời của model. Dù bạn đang huấn luyện model phát hiện đối tượng tùy chỉnh hay làm việc với phân đoạn, việc hiểu các mode này là một bước quan trọng.
Trong tài liệu của Ultralytics, bạn sẽ tìm thấy nhiều mode có thể dùng cho model của mình, để huấn luyện, đánh giá, dự đoán, export, theo dõi hoặc benchmark. Mỗi mode phục vụ một mục đích riêng, giúp bạn tối ưu hiệu suất và triển khai model.
Mode Train#
Trước tiên, hãy cùng tìm hiểu mode train. Đây là nơi bạn xây dựng và tinh chỉnh model. Trong tài liệu có hướng dẫn chi tiết và video hướng dẫn, giúp bạn dễ dàng bắt đầu huấn luyện model tùy chỉnh.
Huấn luyện model bao gồm việc cung cấp cho model một dataset mới để model học các mẫu khác nhau. Sau khi được huấn luyện, model có thể được sử dụng theo thời gian thực để phát hiện các đối tượng mới mà model đã học. Trước khi bắt đầu huấn luyện, bạn cần chú thích dataset theo định dạng YOLO.
Mode Validate#
Tiếp theo, hãy tìm hiểu mode validate. Đánh giá là bước thiết yếu để tinh chỉnh hyperparameter và đảm bảo model hoạt động tốt. Ultralytics cung cấp nhiều tùy chọn đánh giá, bao gồm thiết lập tự động, hỗ trợ nhiều metric và khả năng tương thích với Python API. Bạn thậm chí có thể chạy đánh giá trực tiếp qua giao diện dòng lệnh (CLI) chỉ bằng một lệnh.
Vì sao cần xác thực?#
Xác thực rất quan trọng để:
- Độ chính xác: Đảm bảo model phát hiện đối tượng chính xác.
- Tính tiện lợi: Tinh giản quy trình xác thực.
- Tính linh hoạt: Cung cấp nhiều phương pháp xác thực.
- Tinh chỉnh siêu tham số: Tối ưu model để đạt hiệu suất tốt hơn.
Ultralytics cũng cung cấp các ví dụ có thể sao chép và dán vào script Python. Những ví dụ này bao gồm các tham số như kích thước ảnh, batch size, thiết bị (CPU hoặc GPU) và giao điểm trên hợp (IoU).
Mode Predict#
Sau khi model được huấn luyện và đánh giá, đã đến lúc tạo dự đoán. Mode Predict cho phép bạn chạy inference trên dữ liệu mới và xem model hoạt động. Mode này rất phù hợp để kiểm tra hiệu suất model trên dữ liệu thực tế. Chỉ với vài dòng code Python, bạn có thể chạy dự đoán trên hình ảnh của mình.
Mode Export#
Sau khi xác thực và tạo dự đoán, bạn có thể muốn triển khai model. Mode Export cho phép chuyển đổi model sang nhiều định dạng, chẳng hạn như ONNX hoặc TensorRT, giúp triển khai trên các nền tảng khác nhau dễ dàng hơn.
Mode Benchmark#
Cuối cùng là mode Benchmark. Benchmark rất cần thiết để đánh giá hiệu suất model trong nhiều tình huống khác nhau. Mode này giúp bạn đưa ra 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í.
Cách chạy benchmark#
Để chạy benchmark, bạn có thể sử dụng các ví dụ dành cho người dùng trong tài liệu. Những ví dụ này bao quát các metric quan trọng và định dạng export, bao gồm ONNX và TensorRT. Bạn cũng có thể đặt đối số quantize để lượng tử hóa số nguyên (INT8) hoặc dùng độ chính xác bán phần (FP16), qua đó xem các thiết lập khác nhau ảnh hưởng thế nào đến hiệu suất.
Ví dụ benchmark thực tế#
Hãy xem một ví dụ benchmark thực tế. Khi benchmark model PyTorch, 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 còn 4 mili giây, cho thấy mức cải thiện đáng kể.
Với model ONNX, chúng tôi đạt tốc độ inference 21 mili giây. Khi kiểm tra các model này trên CPU (Intel i9 thế hệ thứ 13), kết quả khác nhau. TorchScript chạy trong 115 mili giây, trong khi ONNX hoạt động tốt hơn với 84 mili giây. Cuối cùng, OpenVINO, được tối ưu cho phần cứng Intel, đạt 23 mili giây.

Hình 1. Nicolai Nielsen minh họa cách chạy benchmark với các model Ultralytics YOLO.
Tầm quan trọng của benchmark#
Benchmark cho thấy phần cứng và định dạng xuất khác nhau có thể ảnh hưởng thế nào đến hiệu suất model. Việc benchmark model rất quan trọng, đặc biệt nếu bạn dự định triển khai trên phần cứng tùy chỉnh hoặc thiết bị biên. Quy trình này đảm bảo model được tối ưu cho môi trường đích và đạt hiệu suất tốt nhất có thể.
Kết luận#
Tóm lại, các mode 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à benchmark model YOLO. Mỗi mode đóng vai trò thiết yếu trong việc tối ưu model và chuẩn bị model cho quá trình triển khai.
Đừng quên khám phá và tham gia cộng đồng của chúng tôi, đồng thời 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 model hiệu suất cao và đảm bảo model chạy hiệu quả trong mọi môi trường.
Được viết bởi
Bình luận
Đặt câu hỏi, chia sẻ kết quả hoặc giúp đỡ người khác.










