Ultralytics YOLO27:
Get Started

Nâng cao quy trình huấn luyện YOLO26: Đơn giản hóa quy trình ghi log với Comet#

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



Xem: Cách sử dụng Comet để ghi log quá trình huấn luyện và metrics của model Ultralytics YOLO 🚀

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 hiệu quả mọi khía cạnh trong quá trình huấn luyện model phát hiện đối tượng 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 chuyên sâu theo thời gian thực, ghi log tùy chỉnh và cách sử dụng ngoại tuyến, giúp quá trình huấn luyện YOLO26 được ghi chép đầy đủ và tinh chỉnh để đạt kết quả vượt trội.

Comet#

Comet ML experiment tracking dashboard

Comet là một nền tảng để theo dõi, so sánh, giải thích và tối ưu các model và thử nghiệm machine learning. Nền tảng này cho phép bạn ghi log metric, tham số, nội dung media và nhiều dữ liệu khác trong quá trình huấn luyện model, đồng thời giám sát thử nghiệm 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, tă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 đưa vào môi trường production.

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

Kết hợp Ultralytics YOLO26 với Comet giúp bạn tận dụng nhiều lợi ích. Những lợi ích này bao gồm quản lý thử nghiệm đơn giản hơn, thông tin chuyên sâu theo thời gian thực để điều chỉnh nhanh, các tùy chọn ghi log linh hoạt và tùy biến, cùng khả năng ghi log thử nghiệm ngoại tuyến 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 suất và đạt được kết quả xuất sắc.

Cài đặt#

Để cài đặt các package cần thiết, 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ý, lấy Comet API Key và cấu hình khóa này.

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

Sau đó, xác thực với Comet. Callback của Ultralytics sẽ tạo thử nghiệm và sử dụng tham số huấn luyện YOLO project làm tên project Comet.

Khởi tạo project Comet
import comet_ml

comet_ml.login()

Nếu bạn 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 tìm hiểu hướng dẫn sử dụng, hãy xem qua 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 dự án.

Cách sử dụng
from ultralytics import YOLO

# Tải model
model = YOLO("yolo26n.pt")

# Huấn luyện 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 huấn luyện, Comet sẽ tự động tạo một thử nghiệm trong workspace Comet của bạn để theo dõi lần chạy. Sau đó, bạn sẽ nhận được liên kết để xem log chi tiết của quá trình huấn luyện model YOLO26.

Comet tự động ghi log các dữ liệu sau mà không cần cấu hình thêm: metric như mAP và loss, siêu tham số, checkpoint của model, ma trận nhầm lẫn tương tác và dự đoán bounding box trên ảnh.

Tìm hiểu hiệu suất model qua các hình ảnh trực quan của Comet#

Hãy cùng xem những gì sẽ xuất hiện trên dashboard Comet khi model YOLO26 của bạn bắt đầu huấn luyện. Dashboard là nơi hiển thị mọi hoạt động, trình bày nhiều thông tin được ghi log tự động dưới dạng hình ảnh trực quan và thống kê. Dưới đây là phần giới thiệu nhanh:

Bảng thử nghiệm

Mục bảng thử nghiệm trên dashboard Comet sắp xếp và trình bày các lần chạy khác nhau cùng metric tương ứng, chẳng hạn như loss của mask phân đoạn, loss của lớp, precision và độ chính xác trung bình.

Comet ML experiment tracking dashboard

Metric

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

Comet ML experiment tracking dashboard

Ma trận nhầm lẫn tương tác

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

Comet ML experiment tracking dashboard

Metric hệ thống

Comet ghi log metric hệ thống để giúp xác định các điểm nghẽn trong quá trình huấn luyện. Các metric này bao gồm mức sử dụng GPU, mức sử dụng 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 để giám sát hiệu quả sử dụng tài nguyên trong quá trình huấn luyện model.

Comet ML experiment tracking dashboard

Tùy chỉnh ghi log Comet#

Comet cho phép tùy chỉnh hành vi ghi log bằng cách thiết lập 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 trước khi bắt đầu huấn luyện):

Biến môi trườngMặc địnhMô tả
COMET_START_ONLINE1Chạy thử nghiệm ở chế độ trực tuyến (1) hoặc ngoại tuyến (0).
COMET_PROJECT_NAMEargs.projectProject trong workspace Comet. Nếu không được thiết lập, biến này sẽ dùng tham số huấn luyện YOLO project.
COMET_MODEL_NAMEUltralyticsTên được đăng ký cho artifact model đã ghi log.
COMET_MAX_IMAGE_PREDICTIONS100Tổng số dự đoán trên ảnh validation cần ghi log cho mỗi lần chạy.
COMET_EVAL_BATCH_LOGGING_INTERVAL1Ghi log dự đoán trên ảnh sau mỗi N batch validation.
COMET_EVAL_LOG_IMAGE_PREDICTIONStrueBật (true) hoặc tắt (false) việc ghi log dự đoán trên ảnh.
COMET_EVAL_LOG_CONFUSION_MATRIXfalseGhi log ma trận nhầm lẫn sau mỗi epoch validation. Ma trận cuối cùng luôn được ghi log khi kết thúc huấn luyện.
COMET_MAX_CONFIDENCE_SCORE100.0Hệ số nhân áp dụng cho điểm confidence của detection trước khi ghi log (UI của Comet sử dụng thang phần trăm).
COMET_MODE (không còn được khuyến nghị)onlineBí danh cũ của COMET_START_ONLINE ("online" ↔ 1, "offline" ↔ 0). Phát cảnh báo không còn được khuyến nghị.

Đối với các tùy chọn bật/tắt kiểu 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 thành True (không phân biệt chữ hoa chữ thường). Mọi giá trị khác đều được phân tích thành False.

Ghi log dự đoán trên ảnh#

Bạn có thể kiểm soát số lượng dự đoán trên ảnh mà Comet ghi log trong các thử nghiệm. Theo mặc định, Comet ghi log 100 dự đoán trên ảnh từ tập validation. Tuy nhiên, bạn có thể thay đổi số lượng này để phù hợp hơn với yêu cầu. Ví dụ, để ghi log 200 dự đoán trên ảnh, hãy dùng đoạn code sau:

import os

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

Để tắt hoàn toàn việc ghi log dự đoán trên ảnh (ví dụ: giảm dung lượng tải lên khi 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 log các batch dự đoán trên ảnh. Biến môi trường COMET_EVAL_BATCH_LOGGING_INTERVAL kiểm soát tần suất này. Giá trị mặc định là 1, tức là ghi log dự đoán từ mọi batch validation. Bạn có thể điều chỉnh giá trị này để ghi log dự đoán theo khoảng thời gian khác. Chẳng hạn, đặt giá trị thành 4 sẽ ghi log dự đoán từ mỗi batch thứ tư.

import os

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

Tắt ghi log ma trận nhầm lẫn#

Trong một số trường hợp, bạn có thể không muốn ghi log ma trận nhầm lẫn của 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". Ma trận nhầm lẫn sẽ chỉ được ghi log 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 dữ liệu thử nghiệm đến máy chủ Comet. Nếu cần huấn luyện khi không có kết nối Internet, hãy thiết lập COMET_START_ONLINE=0 trước khi bắt đầu huấn luyện. Dữ liệu thử nghiệm được lưu cục bộ và có thể tải lên sau bằng CLI comet upload.

import os

os.environ["COMET_START_ONLINE"] = "0"  # 1 (mặc định) = trực tuyến, 0 = ngoại tuyến
`COMET_MODE` không còn được khuyến nghị

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 cảnh báo không còn được khuyến nghị. Từ nay hãy sử dụng COMET_START_ONLINE.

Tên project#

Theo mặc định, callback Comet truyền tham số huấn luyện YOLO project đến Comet (hoặc None nếu không đặt tham số; khi đó Comet sẽ 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ả thử nghiệm đến một project Comet cụ thể trong workspace, bất kể tham số huấn luyện YOLO:

import os

os.environ["COMET_PROJECT_NAME"] = "my-yolo26-experiments"

Tên artifact model#

COMET_MODEL_NAME đặt tên mà Comet đăng ký cho artifact model được ghi log (mặc định là Ultralytics). Hãy sử dụng biến này để phân biệt các biến thể model trong workspace dùng chung:

import os

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

Điều chỉnh tỷ lệ điểm confidence#

Điểm confidence của detection được xuất ra trong khoảng [0, 1], nhưng theo mặc định, UI của Comet hiển thị các điểm này theo thang phần trăm. Callback nhân mỗi điểm với COMET_MAX_CONFIDENCE_SCORE (mặc định là 100.0) trước khi ghi log. Hãy điều chỉnh giá trị này nếu bạn muốn 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"  # ghi log điểm số thô [0, 1]

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 đã tìm hiểu cách tinh gọn việc quản lý thử nghiệm, thu nhận thông tin chuyên sâu theo thời gian thực và điều chỉnh ghi log theo nhu cầu của dự án.

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 dự án YOLO26.

Ngoài ra, nếu muốn tìm hiểu sâu hơn về ứng dụng thực tế của YOLO26, đặc biệt là các tác vụ phân đoạn ảnh, hướng dẫn chi tiết về tinh chỉnh YOLO26 với Comet này cung cấp thông tin hữu ích và hướng dẫn từng bước để cải thiện hiệu suất model.

Ngoài ra, để khám phá những 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.

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:

    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. Huấn luyện model YOLO26 và ghi log 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 mục cấu hình Comet.

  • Tích hợp Ultralytics YOLO26 với Comet giúp bạn:

    • Theo dõi thông tin chuyên sâu theo thời gian thực: Nhận phản hồi tức thì về kết quả huấn luyện, giúp bạn nhanh chóng điều chỉnh.
    • Ghi lại nhiều metric: Tự động ghi lại các metric thiết yếu như mAP, loss, hyperparameter và checkpoint của model.
    • Theo dõi experiment ngoại tuyến: Ghi log các lượt huấn luyện cục bộ khi không có kết nối Internet.
    • So sánh các lượt 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 experiment.

    Tận dụng các tính năng này giúp bạn tối ưu hóa quy trình machine learning để cải thiện hiệu năng và khả năng tái lập. Để biết thêm thông tin, hãy xem 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á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"
    • Tắt ghi log ma trận nhầm lẫn:

      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 artifact model được ghi log:

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

    Xem mục Tùy chỉnh ghi log Comet để biết danh sách đầy đủ, bao gồm các tùy chọn bật/tắt dự đoán hình ảnh, điều chỉnh tỷ lệ điểm tin cậy và chế độ trực tuyến/ngoại tuyến.

  • Sau khi model YOLO26 bắt đầu huấn luyện, bạn có thể truy cập nhiều metric và hình ảnh trực quan hóa trên dashboard Comet. Các tính năng chính bao gồm:

    • Bảng experiment: Xem các lượt chạy và metric tương ứng, bao gồm loss của mặt nạ phân đoạn, loss của lớp và độ chính xác trung bình.
    • Metric: Kiểm tra metric ở dạng bảng để phân tích chi tiết.
    • Ma trận nhầm lẫn tương tác: Đánh giá độ chính xác phân loại bằng ma trận nhầm lẫn 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 mục Tìm hiểu hiệu năng model qua hình ảnh trực quan hóa của Comet.

  • Có. Đặt COMET_START_ONLINE=0 trước khi bắt đầu huấn luyện để ghi log cục bộ:

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

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

Bình luận