Ultralytics YOLO27:

Nâng tầm quá trình training YOLO26: Đơn giản hóa quy trình logging với Comet#

Việc logging các chi tiết training quan trọng như tham số, metric, dự đoán hình ảnh và model checkpoint là điều thiết yếu trong machine learning—giúp project của bạn minh bạch, tiến độ có thể đo lường và kết quả có thể tái lập.



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 nhận và tối ưu hóa hiệu quả mọi khía cạnh trong quá trình training model object detection YOLO26. Trong hướng dẫn này, chúng tôi sẽ trình bày quy trình cài đặt, thiết lập Comet, thông tin chi tiết theo thời gian thực, logging tùy chỉnh và cách sử dụng offline, đảm bảo quá trình training YOLO26 của bạn được ghi chép đầy đủ và tinh chỉnh để đạt kết quả xuất sắc.

Comet#

Comet ML experiment tracking dashboard

Comet là nền tảng để theo dõi, so sánh, giải thích và tối ưu hóa các model machine learning cũng như experiment. Nền tảng này cho phép bạn logging metric, tham số, media và nhiều dữ liệu khác trong quá trình training model, đồng thời theo dõi experiment qua giao diện web trực quan. Comet giúp các data scientist lặp lại nhanh hơn, tăng cường tính minh bạch và khả năng tái lập, đồng thời hỗ trợ phát triển các model production.

Khai thác sức mạnh của YOLO26 và Comet#

Kết hợp Ultralytics YOLO26 với Comet, bạn có thể tận dụng nhiều lợi ích. Các lợi ích này bao gồm quản lý experiment đơn giản hơn, thông tin chi tiết theo thời gian thực để điều chỉnh nhanh, các tùy chọn logging linh hoạt và tùy chỉnh, cùng khả năng logging experiment offline khi kết nối Internet bị hạn chế. Tích hợp này giúp bạn đưa ra quyết định dựa trên dữ liệu, phân tích metric hiệu năng và đạt được kết quả vượt trội.

Cài đặt#

Để cài đặt các package bắt buộc, hãy chạy:

Cài đặt
# Install YOLO26 and Comet
pip install ultralytics comet_ml

Cấu hình Comet#

Sau khi cài đặt các package cần thiết, bạn cần đăng ký tài khoản, lấy Comet API Key và cấu hình API key này.

Cấu hình Comet
# Set your Comet API Key
export COMET_API_KEY=YOUR_API_KEY

Sau đó, hãy xác thực với Comet. Callback của Ultralytics sẽ tạo experiment và sử dụng training argument YOLO project làm tên project Comet.

Khởi tạo project Comet
import comet_ml

comet_ml.login()

Nếu đang sử dụng notebook Google Colab, đoạn code 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 bắt đầu xem hướng dẫn sử dụng, hãy tham khảo danh sách các model YOLO26 do Ultralytics cung cấp. Điều này sẽ giúp bạn chọn model phù hợp nhất với yêu cầu của project.

Cách sử dụng
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 code training, Comet sẽ tự động tạo một experiment trong workspace Comet của bạn để theo dõi run. Sau đó, bạn sẽ nhận được một liên kết để xem logging chi tiết của quá trình training model YOLO26.

Comet tự động logging các dữ liệu sau mà không cần cấu hình bổ sung: metric như mAP và loss, hyperparameter, model checkpoint, confusion matrix tương tác và các dự đoán bounding box trên hình ảnh.

Tìm hiểu hiệu năng model qua các visualization của Comet#

Hãy cùng xem những gì bạn sẽ thấy trên dashboard Comet khi model YOLO26 bắt đầu training. Dashboard là nơi hiển thị toàn bộ hoạt động, trình bày nhiều thông tin được logging tự động thông qua hình ảnh trực quan và thống kê. Dưới đây là tổng quan nhanh:

Các panel experiment

Phần các panel experiment trên dashboard Comet sắp xếp và trình bày những run khác nhau cùng các metric tương ứng, chẳng hạn như loss của segment mask, loss của class, precision và mean average precision.

Comet ML experiment tracking dashboard

Metric

Trong phần metric, bạn cũng có thể xem xét metric ở định dạng bảng, được hiển thị trong một pane riêng như minh họa tại đây.

Comet ML experiment tracking dashboard

Confusion Matrix tương tác

Confusion matrix trong tab Confusion Matrix cung cấp phương thức tương tác để đánh giá accuracy phân loại của model. Ma trận trình bày các dự đoán đúng và sai, giúp bạn hiểu được điểm mạnh và điểm yếu của model.

Comet ML experiment tracking dashboard

Metric hệ thống

Comet logging các metric hệ thống để giúp xác định mọi bottleneck trong quá trình training. Các metric này bao gồm mức sử dụng GPU, bộ nhớ GPU, mức sử dụng CPU và mức sử dụng RAM. Đây là những thông tin thiết yếu để theo dõi hiệu quả sử dụng tài nguyên trong quá trình training model.

Comet ML experiment tracking dashboard

Tùy chỉnh logging Comet#

Comet cho phép tùy chỉnh hành vi logging bằng cách thiết lập các biến môi trường. Những cấu hình này giúp bạn điều chỉnh Comet theo nhu cầu và tùy chọn cụ thể. 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 training):

Biến môi trườngMặc địnhMô tả
COMET_START_ONLINE1Chạy experiment ở chế độ online (1) hoặc offline (0).
COMET_PROJECT_NAMEargs.projectProject workspace Comet. Khi không được thiết lập, biến này sử dụng training argument YOLO project.
COMET_MODEL_NAMEUltralyticsTên được đăng ký cho model artifact đã logging.
COMET_MAX_IMAGE_PREDICTIONS100Tổng số dự đoán hình ảnh validation cần logging cho mỗi run.
COMET_EVAL_BATCH_LOGGING_INTERVAL1Logging dự đoán hình ảnh sau mỗi N batch validation.
COMET_EVAL_LOG_IMAGE_PREDICTIONStrueBật (true) hoặc tắt (false) logging dự đoán hình ảnh.
COMET_EVAL_LOG_CONFUSION_MATRIXfalseLogging confusion matrix ở mỗi epoch validation. Một ma trận cuối cùng luôn được logging khi kết thúc training.
COMET_MAX_CONFIDENCE_SCORE100.0Hệ số nhân được áp dụng cho confidence score của detection trước khi logging (UI của Comet sử dụng thang phần trăm).
COMET_MODE (đã deprecated)onlineBí danh legacy của COMET_START_ONLINE ("online"1, "offline"0). Phát ra cảnh báo deprecation.

Đối với các toggle boolean (COMET_EVAL_LOG_IMAGE_PREDICTIONSCOMET_EVAL_LOG_CONFUSION_MATRIX), các giá trị 1, true, yes, on, yt được phân tích thành True (không phân biệt chữ hoa chữ thường). Mọi giá trị khác được xem là False.

Logging 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 logging trong các experiment. Theo mặc định, Comet logging 100 dự đoán hình ảnh từ tập validation. Tuy nhiên, bạn có thể thay đổi số lượng này cho phù hợp hơn với yêu cầu. Ví dụ, để logging 200 dự đoán hình ảnh, hãy sử dụng code sau:

import os

os.environ["COMET_MAX_IMAGE_PREDICTIONS"] = "200"

Để tắt hoàn toàn việc logging dự đoán hình ảnh (ví dụ: giảm khối lượng upload 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 logging batch#

Comet cho phép bạn chỉ định tần suất logging 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. Thiết lập mặc định là 1, tức logging dự đoán từ mọi batch validation. Bạn có thể điều chỉnh giá trị này để logging dự đoán theo khoảng thời gian khác. Ví dụ, đặt giá trị thành 4 sẽ logging dự đoán từ mỗi batch thứ tư.

import os

os.environ["COMET_EVAL_BATCH_LOGGING_INTERVAL"] = "4"

Tắt logging confusion matrix#

Trong một số trường hợp, bạn có thể không muốn logging confusion matrix từ tập validation 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." Confusion matrix sẽ chỉ được logging một lần sau khi training hoàn tất.

import os

os.environ["COMET_EVAL_LOG_CONFUSION_MATRIX"] = "false"

Chế độ online và offline#

Theo mặc định, Comet chạy ở chế độ online và truyền dữ liệu experiment đến các server Comet. Nếu cần training mà không có kết nối Internet, hãy thiết lập COMET_START_ONLINE=0 trước khi bắt đầu training. Dữ liệu experiment được lưu cục bộ và có thể upload sau bằng CLI comet upload.

import os

os.environ["COMET_START_ONLINE"] = "0"  # 1 (default) = online, 0 = offline
`COMET_MODE` đã deprecated

Các phiên bản trước đây sử dụng COMET_MODE="offline" cho mục đích này. Biến này vẫn được hỗ trợ để đảm bảo tương thích ngược nhưng sẽ phát ra cảnh báo deprecation. Từ nay, hãy sử dụng COMET_START_ONLINE.

Tên project#

Theo mặc định, callback Comet truyền training argument YOLO project cho Comet (hoặc None khi argument này không được thiết lập; khi đó Comet sử dụng giá trị mặc định của workspace). Ghi đè hành vi này bằng COMET_PROJECT_NAME để gửi tất cả experiment đến một project workspace Comet cụ thể, bất kể training argument YOLO:

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 model artifact đã logging (mặc định là Ultralytics). Sử dụng biến này để phân biệt các biến thể model trong một workspace dùng chung:

import os

os.environ["COMET_MODEL_NAME"] = "yolo26n-coco128"

Scaling confidence score#

Confidence score của detection được xuất trong khoảng [0, 1], nhưng UI của Comet mặc định hiển thị chúng theo thang phần trăm. Callback nhân mỗi score với COMET_MAX_CONFIDENCE_SCORE (mặc định là 100.0) trước khi logging. Hãy điều chỉnh giá trị này nếu bạn muốn sử dụng xác suất thô hoặc một thang đo khác:

import os

os.environ["COMET_MAX_CONFIDENCE_SCORE"] = "1.0"  # log raw [0, 1] scores

Tóm tắt#

Hướng dẫn này đã trình bày cách tích hợp Comet với YOLO26 của Ultralytics. Từ cài đặt đến tùy chỉnh, bạn đã học cách đơn giản hóa việc quản lý experiment, nhận thông tin chi tiết theo thời gian thực và điều chỉnh logging theo nhu cầu của project.

Khám phá tài liệu tích hợp YOLOv8 chính thức của Comet, tài liệu này cũng áp dụng cho các project YOLO26.

Ngoài ra, nếu 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à các tác vụ image segmentation, hướng dẫn chi tiết về fine-tuning YOLO26 với Comet cung cấp những thông tin hữu ích và hướng dẫn từng bước để cải thiện hiệu năng 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 nhiều tài nguyên và thông tin hữu ích.

FAQ#

  • Để tích hợp Comet với Ultralytics YOLO26, hãy làm theo các bước sau:

    1. Cài đặt các package cần thiết:

      pip install ultralytics comet_ml
    2. Thiết lập Comet API Key:

      export COMET_API_KEY=YOUR_API_KEY
    3. Xác thực với Comet trong code Python:

      import comet_ml
      
      comet_ml.login()
    4. Training model YOLO26 và logging metric:

      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,
      )

    Để xem hướng dẫn chi tiết hơn, 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ể:

    • Theo dõi thông tin chi tiết theo thời gian thực: Nhận phản hồi tức thì về kết quả training để nhanh chóng điều chỉnh.
    • Logging nhiều metric: Tự động ghi nhận các metric thiết yếu như mAP, loss, hyperparameter và model checkpoint.
    • Theo dõi experiment offline: Logging các run training cục bộ khi không có kết nối Internet.
    • So sánh các run training khác nhau: Sử dụng dashboard Comet tương tác để phân tích và so sánh nhiều experiment.

    Bằng cách tận dụng các tính năng này, bạn có thể tối ưu workflow machine learning để đạt hiệu năng và khả năng tái lập tốt hơn. Để 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 logging bằng các biến môi trường:

    • Thay đổi số lượng dự đoán hình ảnh được logging:

      import os
      
      os.environ["COMET_MAX_IMAGE_PREDICTIONS"] = "200"
    • Điều chỉnh khoảng thời gian logging batch:

      import os
      
      os.environ["COMET_EVAL_BATCH_LOGGING_INTERVAL"] = "4"
    • Tắt logging confusion matrix:

      import os
      
      os.environ["COMET_EVAL_LOG_CONFUSION_MATRIX"] = "false"
    • Đặt tên project Comet:

      import os
      
      os.environ["COMET_PROJECT_NAME"] = "my-yolo26-experiments"
    • Đặt tên model artifact được logging:

      import os
      
      os.environ["COMET_MODEL_NAME"] = "yolo26n-coco128"

    Xem phần Tùy chỉnh logging Comet để biết danh sách đầy đủ, bao gồm các toggle dự đoán hình ảnh, scaling confidence score và chế độ online/offline.

  • Khi model YOLO26 bắt đầu training, bạn có thể truy cập nhiều metric và visualization trên dashboard Comet. Các tính năng chính bao gồm:

    • Các panel experiment: Xem các run khác nhau và metric tương ứng, bao gồm loss của segment mask, loss của class và precision trung bình.
    • Metric: Xem metric ở định dạng bảng để phân tích chi tiết.
    • Confusion Matrix tương tác: Đánh giá accuracy phân loại bằng confusion matrix tương tác.
    • Metric hệ thống: Theo dõi mức sử dụng GPU và CPU, mức sử dụng bộ nhớ cùng các metric hệ thống khác.

    Để xem tổng quan chi tiết về các tính năng này, hãy truy cập phần Tìm hiểu hiệu năng model qua các visualization của Comet.

  • Có. Hãy thiết lập COMET_START_ONLINE=0 trước khi bắt đầu training để logging cục bộ:

    import os
    
    os.environ["COMET_START_ONLINE"] = "0"

    Dữ liệu experiment được lưu trên ổ đĩa và có thể upload lên Comet sau bằng CLI comet upload khi có kết nối. Biến COMET_MODE="offline" trước đây vẫn hoạt động nhưng sẽ phát ra cảnh báo deprecation. Để biết thêm chi tiết, hãy xem phần Chế độ online và offline.

Bình luận