Ultralytics YOLO27: Đăng ký vào danh sách chờ.
Cấp phép YOLO
Tích hợp

Huấn luyện và giám sát từ xa Ultralytics YOLOv5 bằng ClearML

Tìm hiểu cách theo dõi thí nghiệm, quản lý phiên bản dataset, tinh chỉnh siêu tham số và huấn luyện model Ultralytics YOLOv5 trên máy từ xa bằng ClearML.

Nuvola LadiNuvola Ladi8 phút đọc
Huấn luyện và giám sát YOLOv5 với ClearML

Tại Ultralytics, chúng tôi hợp tác thương mại với các startup khác để giúp tài trợ cho hoạt động nghiên cứu và phát triển các công cụ mã nguồn mở như YOLOv5, qua đó duy trì việc cung cấp miễn phí cho mọi người. Bài viết này có thể chứa các liên kết liên kết đến những đối tác đó.

ClearML là đối tác mới nhất của chúng tôi: một bộ công cụ mã nguồn mở được thiết kế để giúp bạn tiết kiệm thời gian.

Với sứ mệnh thúc đẩy việc áp dụng ML, ClearML giúp dễ dàng tích hợp ML vào mọi sản phẩm phần mềm hoặc phần cứng.

Tích hợp này giúp việc huấn luyện model YOLOv5 trở nên đơn giản hơn nữa, đồng thời cho phép sử dụng trình quản lý thử nghiệm ClearML để tự động theo dõi model. Bạn có thể dễ dàng chỉ định ID phiên bản dataset ClearML làm đầu vào dữ liệu và dataset đó sẽ tự động được dùng để huấn luyện model.

Nâng tầm theo dõi thử nghiệm#

  • Theo dõi mọi lần chạy huấn luyện YOLOv5 trong trình quản lý thử nghiệm.
  • Quản lý phiên bản và dễ dàng truy cập dữ liệu huấn luyện tùy chỉnh bằng Công cụ quản lý phiên bản dữ liệu ClearML tích hợp.
  • Đạt mAP tốt nhất với Tối ưu hóa siêu tham số ClearML.
  • Chuyển model YOLOv5 vừa huấn luyện thành API chỉ bằng vài lệnh với ClearML Serving.

Bạn có thể tự chọn số lượng công cụ muốn sử dụng: chỉ dùng trình quản lý thử nghiệm hoặc kết hợp tất cả thành một pipeline ấn tượng.

Thiết lập#

Để theo dõi các thử nghiệm và dữ liệu, ClearML cần giao tiếp với một máy chủ. Bạn có hai lựa chọn: đăng ký miễn phí Dịch vụ ClearML Hosted hoặc tự thiết lập máy chủ.

Ngay cả máy chủ cũng là mã nguồn mở, vì vậy nếu bạn xử lý dữ liệu nhạy cảm thì không có vấn đề gì!

  1. Cài đặt package ClearML Python: pip install clearml
  2. Kết nối ClearML SDK với máy chủ bằng cách tạo thông tin xác thực (ở góc trên bên phải, vào Settings → Workspace → Create new credentials), sau đó chạy lệnh bên dưới và làm theo hướng dẫn: clearml-init

Bây giờ bạn đã sẵn sàng bắt đầu.

Huấn luyện YOLOv5 với ClearML#

Để bật theo dõi thử nghiệm trong ClearML, chỉ cần cài đặt package ClearML pip.

pip install clearml

Thao tác này sẽ bật tích hợp với script huấn luyện YOLOv5. Từ giờ trở đi, mọi lần chạy huấn luyện sẽ được trình quản lý thử nghiệm ClearML ghi lại và lưu trữ. Nếu muốn thay đổi project_name hoặc task_name, hãy truy cập logger tùy chỉnh của chúng tôi để chỉnh sửa: utils/loggers/clearml/clearml_utils.py

python train.py --img 640 --batch 16 --epochs 3 --data coco128.yaml --weights yolov5s.pt --cache

Thao tác này sẽ ghi lại:

  • Mã nguồn + các thay đổi chưa commit
  • Các package đã cài đặt
  • (Siêu) tham số
  • Các tệp model (dùng --save-period n để lưu checkpoint sau mỗi n epoch)
  • Đầu ra console
  • Các giá trị vô hướng (mAP50, mAP50-95, độ chính xác, độ thu hồi, loss, learning rate, ...)
  • Thông tin chung như chi tiết máy, thời gian chạy, ngày tạo, v.v.
  • Tất cả biểu đồ được tạo, chẳng hạn như biểu đồ tương quan nhãn và ma trận nhầm lẫn
  • Hình ảnh có bounding box theo từng epoch
  • Mosaic theo từng epoch
  • Hình ảnh validation theo từng epoch

Giờ đây, chúng ta có thể trực quan hóa toàn bộ thông tin này trong giao diện ClearML để nắm tổng quan về tiến trình huấn luyện. Thêm các cột tùy chỉnh vào chế độ xem bảng (chẳng hạn như mAP50) để dễ dàng sắp xếp theo model có hiệu năng tốt nhất. Hoặc chọn nhiều thí nghiệm và so sánh trực tiếp chúng!

Chúng ta còn có thể làm được nhiều hơn với tất cả thông tin này, chẳng hạn như tối ưu hóa siêu tham số và thực thi từ xa, hãy tiếp tục đọc để tìm hiểu cách thực hiện!

Quản lý phiên bản dataset#

Việc quản lý phiên bản dữ liệu tách biệt với code thường là một ý tưởng hay và cũng giúp dễ dàng lấy phiên bản mới nhất. Repository này hỗ trợ cung cấp ID phiên bản dataset và sẽ đảm bảo lấy dữ liệu nếu dữ liệu chưa có. Ngoài ra, workflow này cũng lưu ID dataset đã dùng trong tham số của task, nhờ đó bạn luôn biết chắc dữ liệu nào đã được dùng trong từng experiment!

Chuẩn bị dataset#

Kho lưu trữ YOLOv5 hỗ trợ nhiều dataset khác nhau bằng cách sử dụng các file YAML chứa thông tin về chúng. Theo mặc định, dataset được tải xuống thư mục ../datasets tính từ thư mục gốc của kho lưu trữ. Vì vậy, nếu tải dataset COCO128 bằng liên kết trong YAML hoặc bằng các script do YOLOv5 cung cấp, bạn sẽ có cấu trúc thư mục sau:

..
|_ yolov5
|_ datasets
    |_ coco128
        |_ images
        |_ labels
        |_ LICENSE
        |_ README.txt

Bạn có thể dùng bất kỳ dataset nào mình muốn. Hãy thoải mái sử dụng dataset riêng, miễn là giữ đúng cấu trúc thư mục này.

Tiếp theo, sao chép file YAML tương ứng vào thư mục gốc của dataset. Các file YAML này chứa thông tin ClearML cần để sử dụng dataset đúng cách. Tất nhiên, bạn cũng có thể tự tạo file này, chỉ cần làm theo cấu trúc của các file YAML mẫu.

File YAML cần có các khóa sau: path, train, test, val, nc và names.

..
|_ yolov5
|_ datasets
    |_ coco128
        |_ images
        |_ labels
        |_ coco128.yaml # ← HERE!
        |_ LICENSE
        |_ README.txt

Tải dataset lên#

Để đưa dataset này vào ClearML dưới dạng dataset có quản lý phiên bản, hãy chuyển đến thư mục gốc của dataset và chạy lệnh sau:

cd coco128

clearml-data sync --project YOLOv5 --name coco128 --folder .

Thực ra, lệnh clearml-data sync là một lệnh rút gọn. Bạn cũng có thể chạy lần lượt các lệnh sau:

# Optionally add --parent if you want to base
# this version on another dataset version, so no duplicate files are uploaded!

clearml-data create --name coco128 --project YOLOv5

clearml-data add --files .

clearml-data close

Chạy training bằng dataset ClearML#

Giờ đây, khi đã có dataset ClearML, bạn có thể dùng dataset đó để huấn luyện các model YOLOv5 tùy chỉnh.

python train.py --img 640 --batch 16 --epochs 3 --data clearml:// --weights yolov5s.pt --cache

Tối ưu hóa siêu tham số#

Giờ đây, khi đã có experiment và phiên bản dữ liệu, đã đến lúc xem chúng ta có thể xây dựng thêm những gì!

Với thông tin mã nguồn, các package đã cài đặt và chi tiết môi trường, giờ đây bản thân thử nghiệm có thể được tái tạo hoàn toàn. Trên thực tế, ClearML cho phép bạn sao chép một thử nghiệm và thậm chí thay đổi các tham số của thử nghiệm đó. Sau đó, chúng ta có thể tự động chạy lại thử nghiệm với các tham số mới này; về bản chất, đó chính là HPO.

Để chạy tối ưu hóa siêu tham số trên máy cục bộ, chúng tôi đã chuẩn bị sẵn một script. Chỉ cần đảm bảo đã chạy một tác vụ huấn luyện ít nhất một lần để tác vụ đó xuất hiện trong trình quản lý thử nghiệm ClearML; script sẽ sao chép tác vụ và thay đổi các siêu tham số.

Bạn cần điền ID của task mẫu này vào script tại utils/loggers/clearml/hpo.py, sau đó chạy script. Bạn có thể đổi task.execute_locally() thành task.execute() để đưa task vào hàng đợi ClearML và để một agent từ xa xử lý task.

# To use optuna, install it first, otherwise you can change the optimizer to just be RandomSearch
pip install optuna
python utils/loggers/clearml/hpo.py

Thực thi từ xa (nâng cao)#

Chạy HPO cục bộ rất tiện lợi, nhưng nếu muốn chạy experiment trên một máy từ xa thì sao? Có thể bạn có quyền truy cập vào một máy GPU rất mạnh tại chỗ, hoặc có ngân sách để sử dụng GPU trên cloud. Đây là lúc ClearML Agent phát huy tác dụng.

Tìm hiểu những gì agent có thể làm tại đây:

Tóm lại: mỗi experiment được trình quản lý experiment theo dõi đều chứa đủ thông tin để tái tạo experiment đó trên một máy khác (các package đã cài đặt, những thay đổi chưa commit, v.v.). ClearML agent thực hiện đúng việc đó: agent lắng nghe hàng đợi để nhận task và khi tìm thấy task, agent sẽ tạo lại môi trường rồi chạy task, đồng thời tiếp tục báo cáo các giá trị vô hướng, biểu đồ, v.v. cho trình quản lý experiment.

Bạn có thể biến bất kỳ máy nào (VM trên cloud, máy GPU cục bộ, laptop cá nhân) thành ClearML agent chỉ bằng cách chạy:

clearml-agent daemon --queue QUEUES_TO_LISTEN_TO [--docker]

Sao chép, chỉnh sửa và đưa vào hàng đợi#

Khi agent đã chạy, chúng ta có thể giao việc cho agent. Hãy nhớ trong phần HPO, chúng ta có thể sao chép một task rồi chỉnh sửa các siêu tham số. Chúng ta cũng có thể làm điều đó ngay trên giao diện!

  1. Sao chép thử nghiệm bằng cách nhấp chuột phải vào thử nghiệm đó.
  2. Chỉnh sửa siêu tham số thành các giá trị bạn muốn.
  3. Đưa tác vụ vào bất kỳ hàng đợi nào bằng cách nhấp chuột phải vào tác vụ đó.

Thực thi task từ xa#

Giờ đây, bạn có thể sao chép một task như đã hướng dẫn ở trên, hoặc chỉ cần đánh dấu script hiện tại bằng cách thêm task.execute_remotely(); khi thực thi, script sẽ được đưa vào hàng đợi để agent bắt đầu xử lý!

Để chạy script training YOLOv5 từ xa, bạn chỉ cần thêm dòng này vào script train.py, sau khi khởi tạo ClearML logger:

# ...
# Loggers
data_dict = None
if RANK in {-1, 0}:
    loggers = Loggers(save_dir, weights, opt, hyp, LOGGER)  # đối tượng loggers
    if loggers.clearml:
        loggers.clearml.task.execute_remotely(queue="my_queue")  # <------ THÊM DÒNG NÀY

Có câu hỏi nào không? Tham gia cộng đồng của chúng tôi và gửi câu hỏi ngay hôm nay!

Được viết bởi

Nuvola Ladi
Nuvola Ladi

Quản lý Nội dung Số · Ultralytics

Nuvola Ladi là Quản lý Nội dung Số tại Ultralytics, nơi cô sáng tạo nội dung về vision AI và Ultralytics YOLO, đồng thời đại diện công ty tại các sự kiện trong ngành như PyTorch Conference 2025. Cô sống tại Tây Ban Nha và có bằng Thạc sĩ về Truyền thông Thị giác và Kỹ thuật số của IE University. Trước khi gia nhập Ultralytics, cô từng đảm nhiệm các vị trí tại những tổ chức như XVA Gallery & Hotel và Rolex.

Bình luận

Đặt câu hỏi, chia sẻ kết quả hoặc giúp đỡ người khác.

Khám phá các giải pháp

Thị giác máy tính trong thể thao

Thị giác máy tính trong thể thao

Khám phá cách Ultralytics YOLO thúc đẩy thị giác máy tính trong thể thao với khả năng theo dõi cầu thủ và bóng, phân tích hiệu suất, cung cấp thông tin chuyên sâu cho huấn luyện và hỗ trợ phục hồi cho vận động viên.
Tìm hiểu thêm
Thị giác máy tính cho ảnh hàng không

Thị giác máy tính cho ảnh hàng không

Chuyển hình ảnh từ drone và ảnh hàng không thành thông tin chuyên sâu theo thời gian thực cho nông nghiệp, nuôi trồng thủy sản, bảo tồn và phân tích không gian địa lý với Ultralytics YOLO.
Tìm hiểu thêm
Thị giác máy tính trong hàng không vũ trụ

Thị giác máy tính trong hàng không vũ trụ

Ứng dụng computer vision trong ngành hàng không vũ trụ với Ultralytics YOLO cho kiểm tra máy bay, phát hiện dị vật trên đường băng (FOD), vận hành mặt đất tại sân bay và phát hiện lỗi vật liệu composite.
Tìm hiểu thêm
Computer vision trong lĩnh vực an ninh

Computer vision trong lĩnh vực an ninh

Bảo vệ mọi địa điểm bằng model Ultralytics YOLO. Vision AI hỗ trợ giám sát vành đai, phát hiện mối đe dọa, nhận dạng biển số và an toàn nơi làm việc.
Tìm hiểu thêm
Computer vision trong robotics

Computer vision trong robotics

Tăng cường năng lực cho máy móc thông minh bằng model Ultralytics YOLO. Vision AI trong lĩnh vực robotics hỗ trợ điều hướng tự động, nhận thức, theo dõi đối tượng và điều khiển theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong logistics

Thị giác máy tính trong logistics

Tinh giản hoạt động logistics với các model Ultralytics YOLO. Vision AI hỗ trợ kiểm tra kiện hàng, phân loại, theo dõi phương tiện và giám sát an toàn kho hàng theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong bán lẻ

Thị giác máy tính trong bán lẻ

Định hình lại hoạt động bán lẻ với các model Ultralytics YOLO. Vision AI hỗ trợ theo dõi hàng tồn kho, giám sát kệ hàng, quản lý hàng chờ và phân tích khách hàng thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong chăm sóc sức khỏe

Thị giác máy tính trong chăm sóc sức khỏe

Xây dựng các giải pháp chăm sóc sức khỏe với model Ultralytics YOLO. Vision AI trong chăm sóc sức khỏe hỗ trợ xử lý hình ảnh y tế nhanh hơn, chẩn đoán thông minh hơn và theo dõi bệnh nhân.
Tìm hiểu thêm
Thị giác máy tính trong sản xuất

Thị giác máy tính trong sản xuất

Tối ưu hóa sản xuất bằng các model Ultralytics YOLO. Vision AI thúc đẩy kiểm soát chất lượng, phát hiện lỗi, tuân thủ PPE và tự động hóa dây chuyền lắp ráp.
Tìm hiểu thêm
Thị giác máy tính trong ngành ô tô

Thị giác máy tính trong ngành ô tô

Ứng dụng thị giác máy tính trong ngành ô tô với các model Ultralytics YOLO. Vision AI nâng cao an toàn giao thông, hỗ trợ người lái và tự động hóa phương tiện để tạo nên những tuyến đường thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong nông nghiệp

Thị giác máy tính trong nông nghiệp

Ứng dụng AI thị giác vào nông nghiệp thông minh với các model Ultralytics YOLO. Hỗ trợ giám sát cây trồng, theo dõi vật nuôi và canh tác chính xác để nâng cao năng suất một cách thông minh hơn.
Tìm hiểu thêm

Hãy cùng nhau kiến tạo tương lai của AI!

Bắt đầu hành trình hướng đến tương lai của machine learning