Nâng tầm quá trình huấn luyện YOLO26: Đơn giản hóa quy trình ghi nhật ký với Comet

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 (checkpoint) mô hình là điều thiết yếu trong machine learning—việc này giúp dự án của bạn minh bạch hơn, 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), giúp 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 mô hình object detection YOLO26 của bạn. 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 theo 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 quá trình huấn luyện YOLO26 của bạn được ghi chép kỹ lưỡng và tinh chỉnh để đạt kết quả xuất sắc.

Comet

Comet ML experiment tracking dashboard

Comet là một nền tảng dùng để theo dõi, so sánh, giải thích và tối ưu hóa các mô hình và thử nghiệm machine learning. Nền tảng này cho phép bạn ghi nhật ký số liệu, tham số, dữ liệu phương tiện và nhiều thông tin khác trong quá trình huấn luyện mô hình, đồng thời theo dõi các thử nghiệm thông qua giao diện web trực quan đẹp mắt. Comet giúp các nhà khoa học dữ liệu lặp lại quy trình nhanh hơn, tăng cường sự minh bạch, khả năng tái lập và hỗ trợ phát triển các mô hình thực 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 có thể 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 theo thời gian thực giúp điều chỉnh nhanh chóng, các tùy chọn ghi nhật ký linh hoạt và được tùy chỉnh, cùng khả năng ghi nhật ký thử nghiệm ngoại tuyến khi kết nối internet bị hạn chế. 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 suất và đạt được 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:

Cài đặt
# Install the required packages for YOLO26 and Comet
pip install ultralytics comet_ml torch torchvision

Cấu hình Comet

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

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

Sau đó, bạn có thể khởi tạo dự án Comet của mình. Comet sẽ tự động phát hiện API key và tiếp tục với quá trình thiết lập.

Khởi tạo dự án Comet
import comet_ml

comet_ml.login(project_name="comet-example-yolo26-coco128")

Nếu bạn đang sử dụng Google Colab notebook, mã ở trên sẽ nhắc 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 chắc chắn rằng bạn đã xem qua các mô hình YOLO26 do Ultralytics cung cấp. Điều này sẽ giúp bạn chọn mô hình phù hợp nhất với yêu cầu dự án của mình.

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 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 một cách tự động. Bạn sẽ nhận được một liên kết để xem nhật ký chi tiết về quá trình huấn luyện mô hình YOLO26 của mình.

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ố (hyperparameters), các điểm kiểm tra mô hình, ma trận nhầm lẫn (confusion matrix) tương tác và các dự đoán bounding box hình ảnh.

Tìm hiểu hiệu suất mô hình của bạn với các hình ảnh trực quan hóa từ Comet

Hãy cùng xem những gì bạn sẽ thấy trên bảng điều khiển Comet khi mô hình YOLO26 bắt đầu huấn luyện. Bảng điều khiển là nơi mọi hoạt động diễn ra, trình bày hàng loạt thông tin được ghi tự động thông qua hình ảnh và số liệu thống kê. Dưới đây là hướng dẫn nhanh:

Các bảng thử nghiệm (Experiment Panels)

Phần bảng thử nghiệm trên bảng điều khiển Comet giúp sắp xếp 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 segment mask, loss của lớp (class loss), độ chính xác (precision) và mean average precision.

Comet ML experiment tracking dashboard

Số liệu (Metrics)

Trong phần số liệu, bạn có tùy chọn xem các số liệu dưới định dạng bảng, được hiển thị trong một ngăn chuyên dụng như hình minh họa dưới đây.

Comet ML experiment tracking dashboard

Confusion Matrix tương tác

Ma trận nhầm lẫn, nằm trong tab Confusion Matrix, cung cấp cách tương tác để đánh giá độ chính xác phân loại của mô hình. Nó hiển thị 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 mô hình.

Comet ML experiment tracking dashboard

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ỳ điểm nghẽn nào trong quá trình huấn luyện. Nó bao gồm các số liệu như hiệu suất sử dụng GPU, bộ nhớ GPU, hiệu suất CPU và RAM. Những thông tin này rất cần thiết để theo dõi hiệu quả sử dụng tài nguyên trong khi huấn luyện mô hình.

Comet ML experiment tracking dashboard

Tùy chỉnh ghi nhật ký Comet

Comet cung cấp sự linh hoạt để tùy chỉnh hành vi ghi nhật ký bằng cách thiết lập các biến môi trường. Các 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. Dưới đây là một số tùy chọn tùy chỉnh hữu ích:

Ghi nhật ký 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 quá trình thử nghiệm. Theo mặc định, Comet ghi lại 100 dự đoán hình ảnh từ tập xác thực (validation set). 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 của mình. Ví dụ, để ghi lại 200 dự đoán hình ảnh, hãy sử dụng mã sau:

import os

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

Khoảng thời gian ghi nhật ký theo batch

Comet cho phép bạn chỉ định tần suất ghi nhật ký 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, nghĩa là ghi lại 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 dự đoán ở một khoảng thời gian khác. Ví dụ, đặt giá trị là 4 sẽ ghi lại dự đoán từ mỗi batch thứ tư.

import os

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

Tắt ghi nhật ký 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 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 duy nhất sau khi quá trình huấn luyện hoàn tất.

import os

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

Ghi nhật ký ngoại tuyến

Nếu bạn đang trong tình trạng hạn chế kết nối internet, Comet cung cấp tùy chọn ghi nhật ký ngoại tuyến. Bạn có thể đặt biến môi trường COMET_MODE thành "offline" để kích hoạt tính năng này. Dữ liệu thử nghiệm của bạn sẽ được lưu cục bộ trong một thư mục và bạn có thể tải lên Comet sau khi có kết nối internet.

import os

os.environ["COMET_MODE"] = "offline"

Tóm tắt

Hướng dẫn này đã dẫn dắt bạn qua quá trình tích hợp Comet với YOLO26 của Ultralytics. Từ khâu cài đặt đến tùy chỉnh, bạn đã học được cách sắp xếp quy trình quản lý thử nghiệm, nắm bắt thông tin theo thời gian thực và điều chỉnh việc ghi nhật ký 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, tài liệu này cũng áp dụng cho các dự án YOLO26.

Hơn nữa, nếu bạn muốn đi sâu hơn vào 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ề tinh chỉnh YOLO26 với Comet này cung cấp các hiểu biết giá trị và hướng dẫn từng bước để cải thiện hiệu suất mô hình của bạn.

Ngoài ra, để khám phá các tích hợp thú vị khác với Ultralytics, hãy xem qua trang hướng dẫn tích hợp, nơi cung cấp rất nhiều tài nguyên và thông tin hữu ích.

Câu hỏi thường gặp (FAQ)

Làm thế nào để tích hợp Comet với Ultralytics YOLO26 để huấn luyện?

Để tích hợp Comet với Ultralytics YOLO26, hãy thực hiện theo các bước sau:

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

    pip install ultralytics comet_ml torch torchvision
  2. Thiết lập Comet API Key của bạn:

    export COMET_API_KEY=YOUR_API_KEY
  3. Khởi tạo dự án Comet trong mã Python của bạn:

    import comet_ml
    
    comet_ml.login(project_name="comet-example-yolo26-coco128")
  4. Huấn luyện mô hình YOLO26 và ghi nhật ký 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 hướng dẫn chi tiết hơn, hãy tham khảo phần cấu hình Comet.

Lợi ích của việc sử dụng Comet với YOLO26 là gì?

Bằng cách tích hợp Ultralytics YOLO26 với Comet, bạn có thể:

  • Theo dõi thông tin theo 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 nhật ký số liệu toàn diện: Tự động nắm bắt các số liệu quan trọng như mAP, loss, siêu tham số và các điểm kiểm tra mô hình.
  • Theo dõi thử nghiệm ngoại tuyến: Ghi lại các lần chạy huấn luyện cục bộ khi không có kết nối internet.
  • So sánh các lần huấn luyện khác nhau: Sử dụng bảng điều khiển Comet tương tác để phân tích và so sánh nhiều thử nghiệm cùng lúc.

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 các quy trình machine learning để đạt hiệu suất 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.

Làm thế nào để tùy chỉnh hành vi ghi nhật ký của Comet trong quá trình huấn luyện YOLO26?

Comet cho phép tùy chỉnh sâu rộng hành vi ghi nhật ký 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 lại:

    import os
    
    os.environ["COMET_MAX_IMAGE_PREDICTIONS"] = "200"
  • Điều chỉnh khoảng thời gian ghi nhật ký theo batch:

    import os
    
    os.environ["COMET_EVAL_BATCH_LOGGING_INTERVAL"] = "4"
  • Tắt ghi nhật ký ma trận nhầm lẫn:

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

Tham khảo phần Tùy chỉnh ghi nhật ký Comet để biết thêm các tùy chọn tùy chỉnh khác.

Làm thế nào để xem các số liệu chi tiết và hình ảnh trực quan hóa quá trình huấn luyện YOLO26 của tôi trên Comet?

Khi mô hình YOLO26 của bạn bắt đầu huấn luyện, bạn có thể truy cập hàng loạt số liệu và hình ảnh trực quan trên bảng điều khiển Comet. Các tính năng chính bao gồm:

  • Các bảng thử nghiệm: Xem các lần chạy khác nhau và số liệu của chúng, bao gồm loss của segment mask, class loss và precision trung bình.
  • Số liệu: Xem xét các số liệu ở định dạng bảng để phân tích chi tiết.
  • Confusion Matrix tương tác: Đánh giá độ chính xác phân loại với ma trận nhầm lẫn tương tác.
  • Số liệu hệ thống: Theo dõi hiệu suất 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 Tìm hiểu hiệu suất mô hình của bạn với các hình ảnh trực quan hóa từ Comet.

Tôi có thể sử dụng Comet để ghi nhật ký ngoại tuyến khi huấn luyện các mô hình YOLO26 không?

Có, bạn có thể bật ghi nhật ký ngoại tuyến trong Comet bằng cách đặt biến môi trường COMET_MODE thành "offline":

import os

os.environ["COMET_MODE"] = "offline"

Tính năng này cho phép bạn ghi lại dữ liệu thử nghiệm cục bộ, sau đó có thể tải lên Comet khi có kết nối internet. Điều này đặc biệt hữu ích khi làm việc trong các môi trường hạn chế truy cập internet. Để biết thêm chi tiết, hãy tham khảo phần Ghi nhật ký ngoại tuyến.

Bình luận