Nâng tầm quy trình huấn luyện YOLO26: Đơn giản hóa quy trình ghi log của bạn với Comet#
Việc ghi lại các chi tiết huấn luyện quan trọng như tham số, số liệu, dự đoán hình ảnh và các điểm kiểm tra model là điều thiết yếu trong machine learning—giúp dự án của bạn minh bạch, tiến độ đo lường được và kết quả có thể lặp lại.
Watch: How to Use Comet for Ultralytics YOLO Model Training Logs and Metrics 🚀
Ultralytics YOLO26 tích hợp liền mạch với Comet (trước đây là Comet ML), ghi lại và tối ưu hóa hiệu quả mọi khía cạnh trong quá trình huấn luyện model object detection của YOLO26. Trong hướng dẫn này, chúng tôi sẽ đề cập đến quy trình cài đặt, thiết lập Comet, thông tin chi tiết thời gian thực, ghi nhật ký tùy chỉnh và cách sử dụng ngoại tuyến, đảm bảo rằng quá trình huấn luyện YOLO26 của bạn được tài liệu hóa kỹ lưỡng và tinh chỉnh để đạt kết quả xuất sắc.
Comet#
Comet là một nền tảng để theo dõi, so sánh, giải thích và tối ưu hóa các model cũng như thí nghiệm machine learning. Nền tảng này cho phép bạn ghi lại các số liệu, tham số, phương tiện và nhiều thứ khác trong quá trình huấn luyện model, đồng thời theo dõi các thí nghiệm thông qua giao diện web trực quan. Comet giúp các nhà khoa học dữ liệu lặp lại nhanh hơn, nâng cao tính minh bạch và khả năng tái tạo, đồng thời hỗ trợ phát triển các model sản xuất.
Khai thác sức mạnh của YOLO26 và Comet#
Bằng cách kết hợp Ultralytics YOLO26 với Comet, bạn mở khóa hàng loạt lợi ích. Các lợi ích này bao gồm quản lý thử nghiệm đơn giản hóa, thông tin chi tiết thời gian thực để điều chỉnh nhanh chóng, các tùy chọn ghi log linh hoạt và tùy chỉnh, cùng khả năng ghi log thử nghiệm ngoại tuyến khi không có internet. Sự tích hợp này giúp bạn đưa ra các quyết định dựa trên dữ liệu, phân tích số liệu hiệu năng và đạt được những kết quả vượt trội.
Cài đặt#
Để cài đặt các gói cần thiết, hãy chạy:
# Install YOLO26 and Comet
pip install ultralytics comet_mlCấu hình Comet#
Sau khi cài đặt các gói bắt buộc, bạn cần đăng ký, lấy Comet API Key và cấu hình nó.
# Set your Comet API Key
export COMET_API_KEY=YOUR_API_KEYSau đó, xác thực với Comet. Callback của Ultralytics sẽ tạo thí nghiệm và sử dụng đối số huấn luyện YOLO project làm tên dự án Comet.
import comet_ml
comet_ml.login()Nếu bạn đang sử dụng Google Colab, đoạn mã trên sẽ yêu cầu bạn nhập API key để khởi tạo.
Cách sử dụng#
Trước khi đi sâu vào hướng dẫn sử dụng, hãy nhớ khám phá các YOLO26 models offered by Ultralytics. Điều này sẽ giúp bạn chọn được model phù hợp nhất cho các yêu cầu dự án của mình.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n.pt")
# Train the model
results = model.train(
data="coco8.yaml",
project="comet-example-yolo26-coco128",
batch=32,
save_period=1,
save_json=True,
epochs=3,
)Sau khi chạy mã huấn luyện, Comet sẽ tạo một thí nghiệm trong không gian làm việc Comet của bạn để theo dõi quá trình chạy tự động. Sau đó, bạn sẽ nhận được một liên kết để xem chi tiết nhật ký của quá trình huấn luyện model YOLO26.
Comet tự động ghi lại các dữ liệu sau mà không cần cấu hình thêm: các số liệu như mAP và loss, siêu tham số, điểm kiểm tra model, ma trận nhầm lẫn tương tác và các dự đoán bounding box của hình ảnh.
Hiểu về hiệu năng model của bạn với các hình ảnh trực quan từ Comet#
Hãy cùng khám phá những gì bạn sẽ thấy trên dashboard của Comet sau khi model YOLO26 bắt đầu huấn luyện. Dashboard là nơi tập trung mọi hoạt động, trình bày hàng loạt thông tin được ghi lại tự động thông qua các hình ảnh trực quan và số liệu thống kê. Đây là hướng dẫn nhanh:
Các bảng thử nghiệm (Experiment Panels)
Phần bảng điều khiển thí nghiệm của dashboard Comet tổ chức và trình bày các lần chạy khác nhau cùng các số liệu của chúng, chẳng hạn như loss của mặt nạ phân đoạn, loss của lớp, độ chính xác và mean average precision.
Metrics
Trong phần số liệu, bạn có tùy chọn kiểm tra dữ liệu dưới dạng bảng, được hiển thị trong một ngăn chuyên dụng như minh họa tại đây.
Confusion Matrix tương tác
Ma trận nhầm lẫn, nằm trong tab Confusion Matrix, cung cấp một cách tương tác để đánh giá độ chính xác phân loại của model. Nó cung cấp chi tiết các dự đoán đúng và sai, cho phép bạn hiểu được điểm mạnh và điểm yếu của model.
Số liệu hệ thống (System Metrics)
Comet ghi lại các số liệu hệ thống để giúp xác định bất kỳ nút thắt nào trong quá trình huấn luyện. Nó bao gồm các số liệu như mức sử dụng GPU, bộ nhớ GPU, mức sử dụng CPU và RAM. Những thông tin này rất cần thiết để giám sát hiệu quả sử dụng tài nguyên trong khi huấn luyện model.
Tùy chỉnh ghi log cho Comet#
Comet cung cấp sự linh hoạt để tùy chỉnh hành vi ghi log bằng cách thiết lập các biến môi trường. Những cấu hình này cho phép bạn điều chỉnh Comet theo nhu cầu và sở thích cụ thể của mình. Callback của Ultralytics đọc các biến môi trường sau (hãy thiết lập chúng trước khi bắt đầu huấn luyện):
| Biến môi trường | Mặc định | Mô tả |
|---|---|---|
COMET_START_ONLINE | 1 | Chạy thí nghiệm ở chế độ trực tuyến (1) hoặc ngoại tuyến (0). |
COMET_PROJECT_NAME | args.project | Project trong không gian làm việc Comet. Sẽ quay trở lại tham số huấn luyện YOLO project khi không được đặt. |
COMET_MODEL_NAME | Ultralytics | Tên được đăng ký cho artifact model đã được ghi log. |
COMET_MAX_IMAGE_PREDICTIONS | 100 | Tổng số lượng dự đoán hình ảnh validation cần ghi log cho mỗi lần chạy. |
COMET_EVAL_BATCH_LOGGING_INTERVAL | 1 | Ghi log dự đoán hình ảnh sau mỗi N batch validation. |
COMET_EVAL_LOG_IMAGE_PREDICTIONS | true | Bật (true) hoặc tắt (false) việc ghi nhật ký dự đoán hình ảnh. |
COMET_EVAL_LOG_CONFUSION_MATRIX | false | Ghi log confusion matrix sau mỗi epoch validation. Một ma trận cuối cùng luôn được ghi lại khi kết thúc quá trình huấn luyện. |
COMET_MAX_CONFIDENCE_SCORE | 100.0 | Số nhân áp dụng cho điểm tin cậy (confidence score) trước khi ghi log (Giao diện của Comet yêu cầu thang đo phần trăm). |
COMET_MODE (đã lỗi thời) | online | Bí danh kế thừa của COMET_START_ONLINE ("online" ↔ 1, "offline" ↔ 0). Phát ra cảnh báo lỗi thời. |
Đối với các công tắc boolean (COMET_EVAL_LOG_IMAGE_PREDICTIONS và COMET_EVAL_LOG_CONFUSION_MATRIX), các giá trị 1, true, yes, on, y và t được phân tích cú pháp thành True (không phân biệt chữ hoa chữ thường). Bất kỳ giá trị nào khác là False.
Ghi log dự đoán hình ảnh#
Bạn có thể kiểm soát số lượng dự đoán hình ảnh mà Comet ghi lại trong các thử nghiệm của mình. Theo mặc định, Comet ghi lại 100 dự đoán hình ảnh từ tập validation. Tuy nhiên, bạn có thể thay đổi con số này để phù hợp hơn với yêu cầu của mình. Ví dụ, để ghi lại 200 dự đoán hình ảnh, hãy sử dụng đoạn mã sau:
import os
os.environ["COMET_MAX_IMAGE_PREDICTIONS"] = "200"Để tắt hoàn toàn việc ghi nhật ký dự đoán hình ảnh (ví dụ: để giảm lưu lượng tải lên trên các kết nối chậm), hãy đặt COMET_EVAL_LOG_IMAGE_PREDICTIONS thành "false":
import os
os.environ["COMET_EVAL_LOG_IMAGE_PREDICTIONS"] = "false"Khoảng thời gian ghi log theo batch#
Comet cho phép bạn chỉ định tần suất ghi lại các batch dự đoán hình ảnh. Biến môi trường COMET_EVAL_BATCH_LOGGING_INTERVAL kiểm soát tần suất này. Cài đặt mặc định là 1, ghi lại các dự đoán từ mọi batch xác thực. Bạn có thể điều chỉnh giá trị này để ghi lại các dự đoán ở khoảng thời gian khác. Ví dụ, đặt thành 4 sẽ ghi lại các dự đoán từ mỗi batch thứ tư.
import os
os.environ["COMET_EVAL_BATCH_LOGGING_INTERVAL"] = "4"Vô hiệu hóa ghi log Confusion Matrix#
Trong một số trường hợp, bạn có thể không muốn ghi lại ma trận nhầm lẫn từ tập xác thực của mình sau mỗi epoch. Bạn có thể tắt tính năng này bằng cách đặt biến môi trường COMET_EVAL_LOG_CONFUSION_MATRIX thành "false." Ma trận nhầm lẫn sẽ chỉ được ghi lại một lần, sau khi quá trình huấn luyện hoàn tất.
import os
os.environ["COMET_EVAL_LOG_CONFUSION_MATRIX"] = "false"Chế độ trực tuyến và ngoại tuyến#
Theo mặc định, Comet chạy ở chế độ trực tuyến và truyền phát dữ liệu thí nghiệm đến các máy chủ Comet. Nếu bạn cần huấn luyện mà không có kết nối Internet, hãy đặt COMET_START_ONLINE=0 trước khi quá trình huấn luyện bắt đầu. Dữ liệu thí nghiệm được lưu cục bộ và có thể được tải lên sau bằng CLI comet upload.
import os
os.environ["COMET_START_ONLINE"] = "0" # 1 (default) = online, 0 = offlineCác phiên bản trước đã sử dụng COMET_MODE="offline" cho mục đích này. Biến này vẫn được hỗ trợ để đảm bảo khả năng tương thích ngược nhưng phát ra cảnh báo lỗi thời. Hãy sử dụng COMET_START_ONLINE trong tương lai.
Tên dự án#
Theo mặc định, callback Comet chuyển tham số huấn luyện YOLO project sang Comet (hoặc None khi tham số chưa được đặt, trong trường hợp đó Comet sử dụng mặc định không gian làm việc của bạn). Ghi đè điều này bằng COMET_PROJECT_NAME để gửi tất cả các thí nghiệm đến một project không gian làm việc Comet cụ thể bất kể tham số huấn luyện YOLO nào:
import os
os.environ["COMET_PROJECT_NAME"] = "my-yolo26-experiments"Tên Model Artifact#
COMET_MODEL_NAME thiết lập tên mà Comet đăng ký cho artifact model được ghi lại (mặc định là Ultralytics). Sử dụng nó để phân biệt các biến thể model trong một không gian làm việc được chia sẻ:
import os
os.environ["COMET_MODEL_NAME"] = "yolo26n-coco128"Thay đổi thang đo Confidence Score#
Điểm tin cậy phát hiện được phát ra trong phạm vi [0, 1], nhưng giao diện người dùng Comet hiển thị chúng theo tỷ lệ phần trăm theo mặc định. Callback nhân mỗi điểm số với COMET_MAX_CONFIDENCE_SCORE (mặc định 100.0) trước khi ghi nhật ký. Điều chỉnh điều này nếu bạn thích xác suất thô hoặc tỷ lệ khác:
import os
os.environ["COMET_MAX_CONFIDENCE_SCORE"] = "1.0" # log raw [0, 1] scoresTóm tắt#
Hướng dẫn này đã dẫn dắt bạn qua quy trình tích hợp Comet với YOLO26 của Ultralytics. Từ việc cài đặt đến tùy chỉnh, bạn đã học được cách hợp lý hóa việc quản lý thử nghiệm, thu thập thông tin chi tiết thời gian thực và điều chỉnh việc ghi log theo nhu cầu dự án của mình.
Khám phá tài liệu tích hợp YOLOv8 chính thức của Comet, cũng áp dụng cho các project YOLO26.
Hơn nữa, nếu bạn muốn tìm hiểu sâu hơn về các ứng dụng thực tế của YOLO26, cụ thể là cho các tác vụ image segmentation, hướng dẫn chi tiết về fine-tuning YOLO26 với Comet này cung cấp những thông tin có giá trị và hướng dẫn từng bước để nâng cao hiệu suất của model.
Ngoài ra, để khám phá các tích hợp thú vị khác với Ultralytics, hãy xem trang hướng dẫn tích hợp, nơi cung cấp vô số tài nguyên và thông tin.
Câu hỏi thường gặp#
Để tích hợp Comet với Ultralytics YOLO26, hãy làm theo các bước sau:
-
Cài đặt các gói cần thiết:
pip install ultralytics comet_ml -
Thiết lập Comet API Key của bạn:
export COMET_API_KEY=YOUR_API_KEY -
Xác thực với Comet trong mã Python của bạn:
import comet_ml comet_ml.login() -
Huấn luyện model YOLO26 và ghi log các số liệu:
from ultralytics import YOLO model = YOLO("yolo26n.pt") results = model.train( data="coco8.yaml", project="comet-example-yolo26-coco128", batch=32, save_period=1, save_json=True, epochs=3, )
Để biết thêm hướng dẫn chi tiết, hãy tham khảo phần cấu hình Comet.
-
Bằng cách tích hợp Ultralytics YOLO26 với Comet, bạn có thể:
- Giám sát thông tin chi tiết thời gian thực: Nhận phản hồi tức thì về kết quả huấn luyện, cho phép điều chỉnh nhanh chóng.
- Ghi log các số liệu mở rộng: Tự động thu thập các số liệu thiết yếu như mAP, loss, siêu tham số và checkpoint của model.
- Theo dõi thử nghiệm ngoại tuyến: Ghi log các lần chạy huấn luyện cục bộ khi không có internet.
- So sánh các lần huấn luyện khác nhau: Sử dụng dashboard tương tác của Comet để phân tích và so sánh nhiều thử nghiệm.
Bằng cách tận dụng các tính năng này, bạn có thể tối ưu hóa quy trình làm việc machine learning của mình để đạt hiệu suất tốt hơn và khả năng tái tạo. Để biết thêm thông tin, hãy truy cập hướng dẫn tích hợp Comet.
Comet cho phép tùy chỉnh sâu hành vi ghi log bằng cách sử dụng các biến môi trường:
-
Thay đổi số lượng dự đoán hình ảnh được ghi log:
import os os.environ["COMET_MAX_IMAGE_PREDICTIONS"] = "200" -
Điều chỉnh khoảng thời gian ghi log theo batch:
import os os.environ["COMET_EVAL_BATCH_LOGGING_INTERVAL"] = "4" -
Vô hiệu hóa ghi log confusion matrix:
import os os.environ["COMET_EVAL_LOG_CONFUSION_MATRIX"] = "false" -
Thiết lập tên dự án Comet:
import os os.environ["COMET_PROJECT_NAME"] = "my-yolo26-experiments" -
Thiết lập tên artifact model được ghi log:
import os os.environ["COMET_MODEL_NAME"] = "yolo26n-coco128"
Xem phần Customizing Comet Logging để biết danh sách đầy đủ, bao gồm các nút bật tắt dự đoán hình ảnh, chia tỷ lệ điểm tin cậy và chế độ trực tuyến/ngoại tuyến.
-
Khi model YOLO26 bắt đầu huấn luyện, bạn có thể truy cập vào rất nhiều số liệu và hình ảnh trực quan trên dashboard Comet. Các tính năng chính bao gồm:
- Bảng thí nghiệm: Xem các lần chạy khác nhau và các số liệu của chúng, bao gồm loss mặt nạ phân đoạn, loss lớp và precision trung bình.
- Metrics: Kiểm tra các số liệu dưới dạng bảng để phân tích chi tiết.
- Interactive Confusion Matrix: Đánh giá độ chính xác phân loại với confusion matrix tương tác.
- System Metrics: Giám sát mức sử dụng GPU và CPU, mức sử dụng bộ nhớ và các số liệu hệ thống khác.
Để có cái nhìn tổng quan chi tiết về các tính năng này, hãy truy cập phần Hiểu về hiệu suất model của bạn với các trực quan hóa Comet.
Có. Đặt
COMET_START_ONLINE=0trước khi quá trình huấn luyện bắt đầu để ghi nhật ký cục bộ:import os os.environ["COMET_START_ONLINE"] = "0"Dữ liệu thí nghiệm được lưu trên đĩa và có thể được tải lên Comet sau bằng CLI
comet uploadkhi có kết nối. BiếnCOMET_MODE="offline"trước đó vẫn hoạt động nhưng phát ra cảnh báo lỗi thời. Để biết thêm chi tiết, hãy xem phần Online and Offline Mode.