Link to this sectionNâ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 log các thông tin huấn luyện quan trọng như tham số, số liệu (metrics), dự đoán hình ảnh và checkpoint của model là điều cần thiết trong machine learning—nó giúp dự án của bạn minh bạch, tiến trình 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 model 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 thời gian thực, ghi log tùy chỉnh và sử dụng ngoại tuyến, đảm bảo quá trình huấn luyện YOLO26 của bạn được ghi lại đầy đủ và tinh chỉnh để đạt kết quả xuất sắc.
Link to this sectionComet#
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 và thử nghiệm machine learning. Nó cho phép bạn ghi log các số liệu, tham số, dữ liệu đa phương tiện và hơn thế nữa trong quá trình huấn luyện model, đồng thời giám sát các thử nghiệm thông qua giao diện web trực quan. Comet giúp các chuyên gia dữ liệu lặp lại quy trình 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 trong môi trường production.
Link to this sectionKhai 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.
Link to this sectionCài đặt#
Để cài đặt các gói cần thiết, hãy chạy:
# Install the required packages for YOLO26 and Comet
pip install ultralytics comet_ml torch torchvisionLink to this sectionCấu hình Comet#
Sau khi cài đặt các gói cần thiết, bạn sẽ 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 đó, 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ến hành thiết lập.
import comet_ml
comet_ml.login(project_name="comet-example-yolo26-coco128")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.
Link to this sectionCá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 xem qua danh sách các model YOLO26 được cung cấp bởi Ultralytics. Đ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ủ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ự động tạo một thử nghiệm trong workspace Comet của bạn để theo dõi quá trình chạy. Bạn sẽ nhận được một liên kết để xem nhật ký chi tiết về quy trình huấn luyện model 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, các siêu tham số (hyperparameters), checkpoint của model, confusion matrix tương tác và dự đoán bounding box trên hình ảnh.
Link to this sectionHiể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 thử nghiệm trên 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 segment mask, loss của lớp (class loss), độ chính xác (precision) 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
Confusion matrix, 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ó liệt kê 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.
Link to this sectionTù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 | Dự án trong workspace Comet. Sẽ sử dụng tham số huấn luyện project của YOLO nếu không được thiết lập. |
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 log 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 cũ của COMET_START_ONLINE ("online" ↔ 1, "offline" ↔ 0). Phát ra cảnh báo lỗi thời. |
Link to this sectionGhi 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"Để vô hiệu hóa hoàn toàn việc ghi log 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"Link to this sectionKhoả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 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 dự đoán từ mỗi batch validation. Bạn có thể điều chỉnh giá trị này để ghi log theo 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"Link to this sectionVô 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 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 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"Link to this sectionChế độ 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 các máy chủ Comet. Nếu bạn cần huấn luyện mà không có quyền truy cập internet, hãy đặt COMET_START_ONLINE=0 trước khi bắt đầu huấn luyện. Dữ liệu thử nghiệm sẽ đượ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ợ để tương thích ngược nhưng sẽ phát ra cảnh báo lỗi thời. Hãy sử dụng COMET_START_ONLINE cho các dự án sau này.
Link to this sectionTên dự án#
Theo mặc định, callback của Comet truyền tham số huấn luyện project của YOLO tới Comet (hoặc None khi tham số không được đặt, trong trường hợp đó Comet sử dụng mặc định của workspace). Ghi đè điều này bằng COMET_PROJECT_NAME để gửi tất cả các thử nghiệm đến một dự án cụ thể trong workspace Comet bất kể tham số huấn luyện YOLO:
import os
os.environ["COMET_PROJECT_NAME"] = "my-yolo26-experiments"Link to this sectionTên Model Artifact#
COMET_MODEL_NAME thiết lập tên mà Comet đăng ký cho artifact model đã ghi log (mặc định là Ultralytics). Sử dụng nó để phân biệt các phiên bản model trong một workspace dùng chung:
import os
os.environ["COMET_MODEL_NAME"] = "yolo26n-coco128"Link to this sectionThay đổi thang đo Confidence Score#
Điểm tin cậy dự đoán được xuất ra trong khoảng [0, 1], nhưng giao diện Comet hiển thị chúng trên thang đo phần trăm theo mặc định. Callback nhân mỗi điểm với COMET_MAX_CONFIDENCE_SCORE (mặc định là 100.0) trước khi ghi log. Đ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] scoresLink to this sectionTó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, 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 đang muốn tìm hiểu sâu hơn về các ứng dụng thực tế của YOLO26, đặc biệt 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 những thông tin giá trị và hướng dẫn từng bước để nâng cao hiệu năng model 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 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.
Link to this sectionCâu hỏi thường gặp#
Link to this sectionLà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 làm theo các bước sau:
-
Cài đặt các gói cần thiết:
pip install ultralytics comet_ml torch torchvision -
Thiết lập Comet API Key của bạn:
export COMET_API_KEY=YOUR_API_KEY -
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") -
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.
Link to this sectionNhững 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ể:
- 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 các quy trình machine learning để có hiệu năng tốt hơn và khả năng tái lập cao hơn. Để biết thêm thông tin, hãy truy cập hướng dẫn tích hợp Comet.
Link to this sectionLàm thế nào để tùy chỉnh hành vi ghi log của Comet trong quá trình huấn luyện YOLO26?#
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 Tùy chỉnh ghi log cho Comet để có danh sách đầy đủ, bao gồm bật/tắt dự đoán hình ảnh, thay đổi thang đo điểm tin cậy và chế độ trực tuyến/ngoại tuyến.
Link to this sectionLàm thế nào để xem các số liệu chi tiết và hình ảnh trực quan về quá trình huấn luyện YOLO26 của tôi trên Comet?#
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:
- Experiment Panels: 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, loss của lớp (class loss) 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 năng model của bạn với các hình ảnh trực quan từ Comet.
Link to this sectionTôi có thể sử dụng Comet để ghi log ngoại tuyến khi huấn luyện các model YOLO26 không?#
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 thử nghiệm đượ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 ra cảnh báo lỗi thời. Để biết thêm chi tiết, hãy xem phần Chế độ trực tuyến và ngoại tuyến.