Link to this sectionNâng cao quy trình đào tạo YOLO26: Đơn giản hóa quy trình ghi log với Comet#
Việc ghi lại các chi tiết đào tạo chính như tham số, chỉ số (metrics), dự đoán hình ảnh và checkpoint của model là điều cần thiết trong học máy—nó giúp dự án 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), giúp ghi lại và tối ưu hóa hiệu quả mọi khía cạnh trong quy trình đào tạo model nhận diện đối tượng 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 log tùy chỉnh và sử dụng ngoại tuyến, đảm bảo rằng quy trình đào tạo YOLO26 của bạn được ghi lại đầy đủ và tinh chỉnh để đạt kết quả vượt trội.
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 học máy. Nó cho phép bạn ghi lại các chỉ số, tham số, phương tiện (media) và nhiều thứ khác trong quá trình đào tạo model, đồng thời theo dõi các thử nghiệm của bạn 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 quy trình nhanh hơn, nâng cao 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 sản xuất.
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 có thể mở khóa nhiều lợi ích. 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 lại các thử nghiệm ngoại tuyến khi không có kết nối 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 các chỉ số hiệu suất và đạt được 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 notebook, đoạn mã trên sẽ nhắc bạn nhập API key để khởi tạo.
Link to this sectionSử 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 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ã đào tạo, Comet sẽ tự động 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. Sau đó, bạn sẽ nhận được một liên kết để xem nhật ký chi tiết về quy trình đào tạo 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 chỉ số 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 của hình ảnh.
Link to this sectionHiểu hiệu suất model của bạn với các trực quan hóa từ Comet#
Hãy cùng khám phá những gì bạn sẽ thấy trên bảng điều khiển Comet khi model YOLO26 bắt đầu đào tạo. Bảng điều khiển là nơi mọi hành động diễn ra, trình bày hàng loạt thông tin được ghi lại tự động thông qua hình ảnh và thống kê. Dưới đây là hướng dẫn nhanh:
Bảng thử nghiệm (Experiment Panels)
Phần bảng thử nghiệm của bảng điều khiển Comet tổ chức và trình bày các lần chạy khác nhau cùng các chỉ số của chúng, chẳng hạn như segment mask loss, class loss, độ chính xác (precision) và mean average precision.
Chỉ số (Metrics)
Trong phần chỉ số, bạn cũng có tùy chọn để xem xét các chỉ số ở định dạng bảng, được hiển thị trong một khung chuyên dụng như minh họa ở đây.
Ma trận nhầm lẫn (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ó 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.
Chỉ số hệ thống (System Metrics)
Comet ghi lại các chỉ số hệ thống để giúp xác định bất kỳ nút thắt nào trong quy trình đào tạo. Nó bao gồm các chỉ số như hiệu suất sử dụng GPU, sử dụng bộ nhớ GPU, hiệu suất sử dụng CPU và sử dụng 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 quá trình đào tạo model.
Link to this sectionTùy chỉnh ghi log 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. Ultralytics callback đọc các biến môi trường sau (hãy thiết lập chúng trước khi quá trình đào tạo bắt đầu):
| 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 không gian làm việc Comet. Trở về đối số đào tạo project của YOLO khi không được thiết lập. |
COMET_MODEL_NAME | Ultralytics | Tên được đăng ký cho artifact model đã ghi lại. |
COMET_MAX_IMAGE_PREDICTIONS | 100 | Tổng số dự đoán hình ảnh xác thực (validation) cần ghi lại mỗi lần chạy. |
COMET_EVAL_BATCH_LOGGING_INTERVAL | 1 | Ghi lại các dự đoán hình ảnh theo mỗi N batch xác thực. |
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 lại ma trận nhầm lẫn sau mỗi epoch xác thực. Một ma trận cuối cùng luôn được ghi lại khi kết thúc quá trình đào tạo. |
COMET_MAX_CONFIDENCE_SCORE | 100.0 | Hệ số nhân áp dụng cho điểm tin cậy (confidence score) phát hiện trước khi ghi log (Giao diện người dùng của Comet mong đợi thang tỷ lệ phần trăm). |
COMET_MODE (không còn dùng) | online | Bí danh cũ của COMET_START_ONLINE ("online" ↔ 1, "offline" ↔ 0). Phát ra cảnh báo không còn dùng nữa. |
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 quá trình 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 xác thực. 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"Để tắt 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 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 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"Link to this sectionTắ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 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 đào tạo 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 đào tạo mà không có truy cập internet, hãy đặt COMET_START_ONLINE=0 trước khi bắt đầu đào tạo. Dữ liệu thử nghiệm sẽ đượ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 (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 tính tương thích ngược nhưng sẽ phát ra cảnh báo không còn dùng. Hãy sử dụng COMET_START_ONLINE cho các phiên bản sau này.
Link to this sectionTên dự án#
Theo mặc định, Comet callback chuyển đối số đào tạo project của YOLO cho Comet (hoặc None khi không đặt đối số, trong trường hợp đó Comet sử dụng mặc định của 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 dự án không gian làm việc Comet cụ thể bất kể đối số đào tạo YOLO:
import os
os.environ["COMET_PROJECT_NAME"] = "my-yolo26-experiments"Link to this sectionTên Model Artifact#
COMET_MODEL_NAME đặt 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 chung:
import os
os.environ["COMET_MODEL_NAME"] = "yolo26n-coco128"Link to this sectionĐiều chỉnh quy mô điểm tin cậy#
Điểm tin cậy phát hiện được phát ra trong phạm vi [0, 1], nhưng Comet UI hiển thị chúng theo tỷ lệ phần trăm theo mặc định. Callback sẽ nhân mỗi điểm số với COMET_MAX_CONFIDENCE_SCORE (mặc định 100.0) trước khi ghi log. Hãy điều chỉnh thông số này nếu bạn thích sử dụng xác suất thô hoặc một tỷ lệ 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 đã giúp bạn 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 hợp lý hóa quản lý thử nghiệm, nắm bắt 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 bạn.
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 dự án 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 biệt cho các tác vụ phân đoạn hình ảnh, 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 chuyên sâu và hướng dẫn từng bước để nâng cao hiệu suất 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.
Link to this sectionCâu hỏi thường gặp (FAQ)#
Link to this sectionLàm thế nào để tôi tích hợp Comet với Ultralytics YOLO26 để đào tạo?#
Để 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") -
Đào tạo model YOLO26 và ghi lại các chỉ số:
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 sectionLợ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 thời gian thực: Nhận phản hồi tức thì về kết quả đào tạo, cho phép điều chỉnh nhanh chóng.
- Ghi lại các chỉ số mở rộng: Tự động ghi lại các chỉ số 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 lại các lần chạy đào tạo cục bộ khi không có kết nối internet.
- So sánh các lần chạy đào tạo khác nhau: Sử dụng bảng điều khiển 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 học máy của mình để đạ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.
Link to this sectionLàm cách nào để tùy chỉnh hành vi ghi log của Comet trong quá trình đào tạo YOLO26?#
Comet cho phép tùy chỉnh rộng rãi 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 lại:
import os os.environ["COMET_MAX_IMAGE_PREDICTIONS"] = "200" -
Điều chỉnh khoảng thời gian ghi log 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 dự án Comet:
import os os.environ["COMET_PROJECT_NAME"] = "my-yolo26-experiments" -
Đặt tên artifact model đã ghi nhật ký:
import os os.environ["COMET_MODEL_NAME"] = "yolo26n-coco128"
Xem phần Tùy chỉnh Ghi nhật ký 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 confidence score, và chế độ online/offline.
Link to this sectionLàm cách nào để xem các số liệu và hình ảnh hóa chi tiết quá trình huấn luyện YOLO26 của tôi trên Comet?#
Sau khi model YOLO26 bắt đầu huấn luyện, bạn có thể truy cập vào nhiều loại số liệu và hình ảnh hóa trên dashboard của Comet. Các tính năng chính bao gồm:
- Bảng điều khiển Thử nghiệm (Experiment Panels): Xem các lần chạy khác nhau và các số liệu của chúng, bao gồm loss của segment mask, loss của lớp, và mean average precision.
- Số liệu (Metrics): Kiểm tra các số liệu dưới dạng bảng để phân tích chi tiết.
- Ma trận nhầm lẫn tương tác (Interactive Confusion Matrix): Đánh giá độ chính xác của phân loại bằng ma trận nhầm lẫn tương tác.
- Số liệu hệ thống (System Metrics): Theo dõi 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 Hình ảnh hóa Comet.
Link to this sectionTôi có thể sử dụng Comet để ghi nhật ký ngoại tuyến (offline) khi huấn luyện các model YOLO26 không?#
Có. Thiết lập COMET_START_ONLINE=0 trước khi bắt đầu huấn luyện để 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 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ẽ đưa ra cảnh báo không dùng nữa (deprecation warning). Để biết thêm chi tiết, hãy xem phần Chế độ Online và Offline.