Theo dõi và trực quan hóa thí nghiệm YOLO bằng Weights & Biases#
Các model phát hiện đối tượng như Ultralytics YOLO26 đã trở thành thành phần thiết yếu trong nhiều ứng dụng thị giác máy tính. Tuy nhiên, việc huấn luyện, đánh giá và triển khai các model phức tạp này đặt ra một số thách thức. Việc theo dõi các chỉ số huấn luyện quan trọng, so sánh các biến thể model, phân tích hành vi model và phát hiện sự cố đòi hỏi nhiều công sức để bổ sung instrumentation và quản lý thí nghiệm.
Xem: Cách sử dụng Ultralytics YOLO với Weights and Biases
Hướng dẫn này giới thiệu cách tích hợp Ultralytics YOLO26 với Weights & Biases để cải thiện khả năng theo dõi thử nghiệm, quản lý artifact của model tốt nhất và trực quan hóa hiệu suất model. Hướng dẫn cũng bao gồm các chỉ dẫn thiết lập tích hợp, huấn luyện và trực quan hóa kết quả bằng các tính năng tương tác của Weights & Biases.
Weights & Biases#
Weights & Biases là một nền tảng MLOps tiên tiến, được thiết kế để theo dõi, trực quan hóa và quản lý các thí nghiệm machine learning. Nền tảng này có tính năng tự động ghi log các chỉ số huấn luyện để bảo đảm khả năng tái lập thí nghiệm, giao diện người dùng tương tác giúp đơn giản hóa việc phân tích dữ liệu và các công cụ quản lý model hiệu quả để triển khai trên nhiều môi trường.
Huấn luyện YOLO26 với Weights & Biases#
Bạn có thể dùng Weights & Biases để nâng cao hiệu quả và tự động hóa quy trình huấn luyện YOLO26. Tích hợp này cho phép bạn theo dõi thí nghiệm, so sánh model và đưa ra quyết định dựa trên dữ liệu để cải thiện các dự án thị giác máy tính.
Cài đặt#
Để cài đặt các package cần thiết, hãy chạy:
# Install the required packages for Ultralytics YOLO and Weights & Biases
pip install -U ultralytics wandb
# Enable W&B logging for Ultralytics
yolo settings wandb=TrueĐể xem hướng dẫn chi tiết và các phương pháp tối ưu liên quan đến quá trình cài đặt, hãy tham khảo hướng dẫn cài đặt YOLO26. Nếu gặp khó khăn khi cài đặt các package cần thiết cho YOLO26, hãy xem hướng dẫn về các vấn đề thường gặp để tìm giải pháp và mẹo xử lý.
Cấu hình Weights & Biases#
Sau khi cài đặt các package cần thiết, bước tiếp theo là thiết lập môi trường Weights & Biases. Việc này bao gồm tạo tài khoản Weights & Biases và lấy API key cần thiết để kết nối thuận tiện giữa môi trường phát triển của bạn với nền tảng W&B.
Bắt đầu bằng cách khởi tạo môi trường Weights & Biases trong workspace. Bạn có thể thực hiện việc này bằng cách chạy lệnh sau và làm theo hướng dẫn được hiển thị.
import wandb
# Khởi tạo môi trường Weights & Biases (yêu cầu nhập API key hoặc đọc WANDB_API_KEY)
wandb.login()Truy cập trang ủy quyền Weights & Biases để tạo và lấy API key. Dùng key này khi được nhắc để xác thực môi trường của bạn với W&B.
Cách dùng: Huấn luyện YOLO26 với Weights & Biases#
Trước khi xem hướng dẫn sử dụng Weights & Biases để huấn luyện model YOLO26, hãy tham khảo các model YOLO26 do Ultralytics cung cấp. Việc này sẽ giúp bạn chọn model phù hợp nhất với yêu cầu dự án.
from ultralytics import YOLO
# Tải model YOLO
model = YOLO("yolo26n.pt")
# Huấn luyện và tinh chỉnh model
model.train(data="coco8.yaml", epochs=5, project="ultralytics", name="yolo26n")Các run mà Ultralytics tạo sẽ biểu đồ hóa các metric huấn luyện theo epoch. Nếu bạn bắt đầu một run bằng wandb.init() trước khi huấn luyện, Ultralytics sẽ ghi log vào run đó, với giá trị epoch trong mỗi hàng, đồng thời giữ run ở trạng thái mở để bạn tiếp tục ghi log vào đó và tự gọi wandb.finish(). Các tham số huấn luyện được thêm vào config của run đó, và mọi key mà bạn hoặc một sweep W&B đã thiết lập đều giữ nguyên giá trị.
Các đối số W&B#
| Đối số | Mặc định | Mô tả |
|---|---|---|
| project | None | Chỉ định tên dự án được ghi log cục bộ và trong W&B, dùng để nhóm nhiều lượt chạy. Nếu không đặt, các lượt chạy W&B sẽ được ghi log vào dự án Ultralytics. |
| name | None | Tên của lượt chạy huấn luyện. Tên này được dùng để tạo thư mục con và ghi log trong W&B. |
| save | True | Xác định có tải checkpoint tốt nhất lên dưới dạng model artifact của W&B hay không. |
Nếu muốn bật hoặc tắt tính năng ghi log Weights & Biases trong Ultralytics, bạn có thể dùng lệnh yolo settings. Theo mặc định, tính năng ghi log Weights & Biases sẽ bị tắt.
# Enable Weights & Biases logging
yolo settings wandb=True
# Disable Weights & Biases logging
yolo settings wandb=FalseĐặt WANDB_MODE=offline để ghi log mà không cần kết nối mạng, sau đó tải run lên bằng wandb sync <save_dir>/wandb/offline-run-*. Tiếp tục huấn luyện bằng resume=True sẽ tiếp tục cùng một run W&B, dù trực tuyến hay ngoại tuyến và trên mọi hệ điều hành, bằng cách đọc ID run từ thư mục run gần nhất trong thư mục wandb/ của thư mục lưu ban đầu; vì vậy, hãy giữ nguyên thư mục đó.
Tìm hiểu về đầu ra#
Sau khi chạy đoạn mã ví dụ ở trên, bạn có thể thấy các kết quả chính sau:
- Một lượt chạy mới được thiết lập với ID riêng, cho biết quá trình huấn luyện đã bắt đầu.
- Tóm tắt ngắn gọn cấu trúc model, bao gồm số lớp và số tham số.
- Cập nhật thường xuyên các chỉ số quan trọng như loss huấn luyện, độ chính xác, độ bao phủ và điểm mAP trong mỗi epoch huấn luyện.
- Khi kết thúc huấn luyện, các chỉ số chi tiết, bao gồm tốc độ inference của model và các chỉ số độ chính xác tổng thể, sẽ được hiển thị.
- Các liên kết đến dashboard Weights & Biases để phân tích chuyên sâu và trực quan hóa quá trình huấn luyện, cùng thông tin về vị trí các file log cục bộ.
Xem Dashboard Weights & Biases#
Sau khi chạy đoạn mã ví dụ, bạn có thể truy cập dashboard Weights & Biases (W&B) qua liên kết được cung cấp trong đầu ra. Dashboard này cung cấp cái nhìn toàn diện về quá trình huấn luyện model YOLO26.
Các tính năng chính của Dashboard Weights & Biases#
-
Theo dõi chỉ số theo thời gian thực: Quan sát các chỉ số như loss, độ chính xác và điểm validation khi chúng thay đổi trong quá trình huấn luyện, từ đó có được thông tin tức thời để tinh chỉnh model. Xem cách theo dõi thí nghiệm bằng Weights & Biases.
-
So sánh siêu tham số: Mỗi run ghi log các tham số huấn luyện, chẳng hạn như learning rate và kích thước batch, để bạn có thể so sánh cấu hình giữa các run. Để tự động tìm kiếm và ghi log bằng W&B, hãy sử dụng Ray Tune.
-
Phân tích so sánh: Nền tảng cho phép so sánh song song các lượt chạy huấn luyện khác nhau, rất cần thiết để đánh giá tác động của nhiều cấu hình model và xác định những thay đổi giúp cải thiện hiệu năng.
-
Trực quan hóa tiến trình huấn luyện: Các biểu đồ biểu diễn những chỉ số chính giúp bạn nắm bắt trực quan hiệu năng của model qua từng epoch. Xem cách Weights & Biases giúp bạn trực quan hóa kết quả validation.
-
Giám sát tài nguyên: Theo dõi mức sử dụng CPU, GPU và bộ nhớ để tối ưu hiệu quả của quá trình huấn luyện và xác định các điểm nghẽn tiềm ẩn trong quy trình làm việc.
-
Quản lý artifact của model: Truy cập và chia sẻ checkpoint model tốt nhất, được tải lên dưới dạng artifact W&B khi kết thúc quá trình huấn luyện, giúp dễ dàng triển khai và cộng tác với các thành viên trong nhóm ở những dự án phức tạp.
Với các tính năng này, bạn có thể theo dõi, phân tích và tối ưu hiệu quả quá trình huấn luyện model YOLO26, bảo đảm hiệu năng và hiệu quả tốt nhất có thể cho các tác vụ phát hiện đối tượng.
Tóm tắt#
Hướng dẫn này giúp bạn tìm hiểu cách tích hợp Ultralytics YOLO với Weights & Biases. Hướng dẫn minh họa khả năng theo dõi và trực quan hóa hiệu quả kết quả huấn luyện model của tích hợp này. Bằng cách tận dụng các tính năng mạnh mẽ của W&B, bạn có thể tinh gọn quy trình machine learning, đưa ra quyết định dựa trên dữ liệu và cải thiện hiệu suất model.
Để biết thêm chi tiết, hãy xem bài thuyết trình của Soumik Rakshit tại YOLO VISION 2023 về tính năng tích hợp này.
Ngoài ra, hãy xem trang hướng dẫn tích hợp của Ultralytics để tìm hiểu thêm về các tích hợp hữu ích khác như MLflow và Comet ML.
Câu hỏi thường gặp#
Để tích hợp Weights & Biases với Ultralytics YOLO26:
-
Cài đặt các gói cần thiết:
pip install -U ultralytics wandb yolo settings wandb=True -
Đăng nhập vào tài khoản Weights & Biases của bạn:
wandb login -
Huấn luyện model YOLO26 với tính năng ghi log W&B được bật:
from ultralytics import YOLO model = YOLO("yolo26n.pt") model.train(data="coco8.yaml", epochs=5, project="ultralytics", name="yolo26n")
Thao tác này sẽ tự động ghi log các chỉ số, siêu tham số và model artifact vào dự án W&B của bạn.
-
Các tính năng chính bao gồm:
- Theo dõi chỉ số theo thời gian thực trong quá trình huấn luyện
- So sánh siêu tham số giữa các run
- Phân tích so sánh các lượt chạy huấn luyện khác nhau
- Trực quan hóa tiến trình huấn luyện bằng biểu đồ
- Giám sát tài nguyên (mức sử dụng CPU, GPU và bộ nhớ)
- Quản lý và chia sẻ model artifact
Các tính năng này giúp theo dõi thí nghiệm, tối ưu model và cộng tác hiệu quả hơn trong các dự án YOLO26.
Sau khi chạy script huấn luyện có tích hợp W&B:
- Liên kết đến dashboard W&B của bạn sẽ được cung cấp trong đầu ra của console.
- Nhấp vào liên kết hoặc truy cập wandb.ai rồi đăng nhập vào tài khoản của bạn.
- Truy cập dự án của bạn để xem chi tiết các chỉ số, nội dung trực quan hóa và dữ liệu hiệu năng model.
Dashboard cung cấp thông tin chuyên sâu về quá trình huấn luyện model, giúp bạn phân tích và cải thiện hiệu quả các model YOLO26.
Có, bạn có thể tắt tính năng ghi log W&B bằng lệnh sau:
yolo settings wandb=FalseĐể bật lại tính năng ghi log, hãy dùng:
yolo settings wandb=TrueNhờ đó, bạn có thể chủ động kiểm soát thời điểm sử dụng tính năng ghi log W&B mà không cần sửa script huấn luyện.
Weights & Biases giúp tối ưu model YOLO26 bằng cách:
- Cung cấp biểu đồ trực quan chi tiết về các chỉ số huấn luyện
- Cho phép dễ dàng so sánh các phiên bản model khác nhau
- Ghi log tham số huấn luyện của từng run để so sánh tinh chỉnh siêu tham số
- Cho phép cộng tác phân tích hiệu năng model
- Giúp dễ dàng chia sẻ model artifact và kết quả
Các tính năng này giúp nhà nghiên cứu và nhà phát triển lặp lại quy trình nhanh hơn, đồng thời đưa ra quyết định dựa trên dữ liệu để cải thiện model YOLO26.