Ultralytics YOLO27:
Tích hợp

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

Khám phá quan hệ hợp tác của chúng tôi với ClearML để có trải nghiệm Ultralytics YOLOv5 nâng cao, tích hợp ML liền mạch, theo dõi thí nghiệm và nhiều tính năng khác.

NUNuvola Ladi8 min read
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ở tuyệt vời như YOLOv5, nhằm 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 ứng dụng ML, ClearML giúp việc tích hợp ML vào mọi sản phẩm Software và Hardware trở nên liền mạch.

Tích hợp này giúp việc huấn luyện một model YOLOv5 trở nên đơn giản hơn nữa, đồng thời sử dụng experiment manager của 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 này sẽ được tự động sử dụng để huấn luyện model.

Nâng tầm việc theo dõi experiment#

  • Theo dõi mọi lần chạy huấn luyện YOLOv5 trong experiment manager.
  • 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 ClearML Data Versioning Tool được tích hợp.
  • Đạt mAP tốt nhất bằng ClearML Hyperparameter Optimization.
  • Chuyển model YOLOv5 mới huấn luyện thành API chỉ với vài lệnh bằng ClearML Serving.

Bạn có thể tùy ý quyết định số lượng công cụ muốn sử dụng: chỉ dùng experiment manager hoặc kết nối tất cả thành một pipeline ấn tượng.

Thiết lập#

Để theo dõi experiment và dữ liệu, ClearML cần giao tiếp với một server. Bạn có hai lựa chọn: đăng ký miễn phí ClearML Hosted Service hoặc thiết lập server riêng; xem tài liệu triển khai ClearML Server.

Ngay cả server 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 phải vấn đề!

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

Vậy là xong! Bạn đã sẵn sàng bắt đầu...

Huấn luyện YOLOv5 bằng ClearML#

Để bật tính năng theo dõi experiment của 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ừ bây giờ, mọi lần chạy huấn luyện sẽ được ClearML experiment manager thu thập và lưu trữ. Nếu muốn thay đổi project_name hoặc task_name, hãy mở custom logger của chúng tôi để thay đổi: utils/loggers/clearml/clearml_utils.py

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

Thông tin được thu thập gồm:

  • Source code + các thay đổi chưa commit
  • Các package đã cài đặt
  • (Siêu) tham số
  • Các file model (sử dụng --save-period n để lưu một checkpoint sau mỗi n epoch)
  • Đầu ra trên console
  • Các giá trị vô hướng (mAP_0.5, mAP_0.5:0.95, precision, recall, losses, learning rates, ...)
  • Thông tin chung như chi tiết máy, runtime, ngày tạo, v.v.
  • Tất cả plot được tạo, chẳng hạn như label correlogram và confusion matrix
  • Hình ảnh có bounding box theo từng epoch
  • Mosaic theo từng epoch
  • Hình ảnh validation theo từng epoch

Không tệ! Giờ đây, chúng ta có thể trực quan hóa toàn bộ thông tin này trong ClearML UI để có cái nhìn 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ư mAP_0.5) để dễ dàng sắp xếp theo model có hiệu suất tốt nhất. Hoặc chọn nhiều experiment và so sánh trực tiếp chúng!

Chúng ta còn có thể làm nhiều hơn với toàn bộ thông tin này, chẳng hạn như tối ưu hóa hyperparameter và thực thi từ xa, vì vậy 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#

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 tồn tại. Ngoài ra, workflow này cũng lưu ID dataset đã sử dụng trong các tham số của task, vì vậy bạn sẽ luôn biết chắc dữ liệu nào đã được sử dụng trong experiment nào!

Chuẩn bị dataset#

Repository 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 tương ứ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 repository. Vì vậy, nếu bạn 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

Tuy nhiên, đây có thể là bất kỳ dataset nào bạn muốn. Bạn có thể sử dụng dataset của riêng mình, miễn là duy trì cấu trúc thư mục này.

Tiếp theo, ⚠️hãy sao chép file YAML tương ứng vào thư mục gốc của thư mục 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 tuân theo cấu trúc của các YAML mẫu.

Về cơ bản, chúng ta cần các key sau: path, train, test, val, nc, 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 đi tới thư mục gốc của dataset và chạy lệnh sau:

cd coco128

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

Lệnh clearml-data sync thực ra là một lệnh viết tắt. 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 huấn luyện bằng dataset ClearML#

Giờ đây, khi đã có dataset ClearML, bạn có thể sử dụng dataset này rất dễ dàng để 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 hyperparameter#

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

Nhờ thông tin về code, các package đã cài đặt và chi tiết môi trường, bản thân experiment giờ đây hoàn toàn có thể tái lập. Trên thực tế, ClearML cho phép bạn clone một experiment và thậm chí thay đổi các tham số của experiment. Sau đó, chúng ta chỉ cần tự động chạy lại experiment với các tham số mới này; về cơ bản, đó chính là HPO!

Để chạy tối ưu hóa hyperparameter cục bộ, chúng tôi đã cung cấp sẵn một script. Chỉ cần đảm bảo một task huấn luyện đã được chạy ít nhất một lần để task đó xuất hiện trong ClearML experiment manager; về cơ bản, chúng ta sẽ clone task đó và thay đổi các hyperparameter của task.

Bạn cần điền ID của task template này vào script tại utils/loggers/clearml/hpo.py, sau đó chỉ cần chạy script. Bạn có thể thay đổ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 thay cho bạn.

# 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ộ thực sự rất tiện lợi, nhưng nếu chúng ta 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.

Xem agent có thể làm gì tại đây:

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

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

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

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

Khi agent đang chạy, chúng ta có thể giao cho agent một số công việc. Hãy nhớ từ phần HPO rằng chúng ta có thể clone một task và chỉnh sửa các hyperparameter? Chúng ta cũng có thể thực hiện việc đó từ giao diện!

🪄 Clone experiment bằng cách nhấp chuột phải vào experiment

🎯 Chỉnh sửa hyperparameter theo giá trị bạn muốn

⏳ Đưa task vào bất kỳ hàng đợi nào bằng cách nhấp chuột phải vào task

Thực thi task từ xa#

Giờ đây, bạn có thể clone một task như đã giải thích ở 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 huấn luyện YOLOv5 từ xa, tất cả những gì bạn cần làm là thêm dòng này vào script train.py, sau khi ClearML logger đã được khởi tạo:

# ...
# Loggers
data_dict = None
if RANK in {-1, 0}:
    loggers = Loggers(save_dir, weights, opt, hyp, LOGGER)  # loggers instance
    if loggers.clearml:
        loggers.clearml.task.execute_remotely(queue="my_queue")  # <------ ADD THIS LINE

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

Explore solutions

Thị giác máy tính cho hình ảnh trên không

Thị giác máy tính cho hình ảnh trên không

Biến đổi hình ảnh từ máyδ bay không người lái và ảnh chụp trên không thành thông tin chi tiết thời gian thực cho nông nghiệp, nuôi trồng thủy sản, giám sát môi trường, 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ụ

Mang thị giác AI đến với hoạt động giám sát trên không bằng các model Ultralytics YOLO. Cung cấp sức mạnh cho máy bay không người lái, quy trình hàng không vũ trụ, bảo tồn môi trường & ngành công nghiệp địa không gian với các giải pháp thị giác máy tính.
Tìm hiểu thêm

Bảo vệ mọi địa điểm bằng các model Ultralytics YOLO. Thị giác AI cung cấp sức mạnh cho việc giám sát chu vi, phát hiện mối đe dọa, nhận diện biển số xe và an toàn nơi làm việc.
Tìm hiểu thêm
Thị giác máy tính trong robotics

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

Nâng cao năng lực cho máy móc thông minh hơn với các model Ultralytics YOLO. Vision AI trong 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 gọn 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 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 ngành bán lẻ với các model Ultralytics YOLO. Vision AI hỗ trợ tracking hàng tồn kho, giám sát kệ hàng, quản lý hàng đợi và cung cấp insight khách hàng thông minh hơn.
Tìm hiểu thêm
Computer vision trong healthcare

Computer vision trong healthcare

Xây dựng các giải pháp healthcare với các model Ultralytics YOLO. Vision AI trong healthcare thúc đẩy chẩn đoán hình ảnh nhanh hơn, chẩn đoán thông minh hơn và giám sát bệnh nhân.
Tìm hiểu thêm
Computer vision trong sản xuất

Computer vision trong sản xuất

Tối ưu hóa sản xuất với 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
Computer vision trong ngành ô tô

Computer vision trong ngành ô tô

Ứng dụng computer vision trong ngành ô tô với các model Ultralytics YOLO. Vision AI nâng cao an toàn đường bộ, 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
Computer vision trong nông nghiệp

Computer vision trong nông nghiệp

Đưa vision AI vào nông nghiệp thông minh với các model Ultralytics YOLO. Thúc đẩy giám sát cây trồng, theo dõi vật nuôi và canh tác chính xác để đạt năng suất cao hơn, thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính cho hình ảnh trên không

Thị giác máy tính cho hình ảnh trên không

Biến đổi hình ảnh từ máyδ bay không người lái và ảnh chụp trên không thành thông tin chi tiết thời gian thực cho nông nghiệp, nuôi trồng thủy sản, giám sát môi trường, 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ụ

Mang thị giác AI đến với hoạt động giám sát trên không bằng các model Ultralytics YOLO. Cung cấp sức mạnh cho máy bay không người lái, quy trình hàng không vũ trụ, bảo tồn môi trường & ngành công nghiệp địa không gian với các giải pháp thị giác máy tính.
Tìm hiểu thêm

Bảo vệ mọi địa điểm bằng các model Ultralytics YOLO. Thị giác AI cung cấp sức mạnh cho việc giám sát chu vi, phát hiện mối đe dọa, nhận diện biển số xe và an toàn nơi làm việc.
Tìm hiểu thêm
Thị giác máy tính trong robotics

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

Nâng cao năng lực cho máy móc thông minh hơn với các model Ultralytics YOLO. Vision AI trong 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 gọn 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 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 ngành bán lẻ với các model Ultralytics YOLO. Vision AI hỗ trợ tracking hàng tồn kho, giám sát kệ hàng, quản lý hàng đợi và cung cấp insight khách hàng thông minh hơn.
Tìm hiểu thêm
Computer vision trong healthcare

Computer vision trong healthcare

Xây dựng các giải pháp healthcare với các model Ultralytics YOLO. Vision AI trong healthcare thúc đẩy chẩn đoán hình ảnh nhanh hơn, chẩn đoán thông minh hơn và giám sát bệnh nhân.
Tìm hiểu thêm
Computer vision trong sản xuất

Computer vision trong sản xuất

Tối ưu hóa sản xuất với 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
Computer vision trong ngành ô tô

Computer vision trong ngành ô tô

Ứng dụng computer vision trong ngành ô tô với các model Ultralytics YOLO. Vision AI nâng cao an toàn đường bộ, 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
Computer vision trong nông nghiệp

Computer vision trong nông nghiệp

Đưa vision AI vào nông nghiệp thông minh với các model Ultralytics YOLO. Thúc đẩy giám sát cây trồng, theo dõi vật nuôi và canh tác chính xác để đạt năng suất cao hơn, thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính cho hình ảnh trên không

Thị giác máy tính cho hình ảnh trên không

Biến đổi hình ảnh từ máyδ bay không người lái và ảnh chụp trên không thành thông tin chi tiết thời gian thực cho nông nghiệp, nuôi trồng thủy sản, giám sát môi trường, 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ụ

Mang thị giác AI đến với hoạt động giám sát trên không bằng các model Ultralytics YOLO. Cung cấp sức mạnh cho máy bay không người lái, quy trình hàng không vũ trụ, bảo tồn môi trường & ngành công nghiệp địa không gian với các giải pháp thị giác máy tính.
Tìm hiểu thêm

Bảo vệ mọi địa điểm bằng các model Ultralytics YOLO. Thị giác AI cung cấp sức mạnh cho việc giám sát chu vi, phát hiện mối đe dọa, nhận diện biển số xe và an toàn nơi làm việc.
Tìm hiểu thêm
Thị giác máy tính trong robotics

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

Nâng cao năng lực cho máy móc thông minh hơn với các model Ultralytics YOLO. Vision AI trong 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 gọn 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 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 ngành bán lẻ với các model Ultralytics YOLO. Vision AI hỗ trợ tracking hàng tồn kho, giám sát kệ hàng, quản lý hàng đợi và cung cấp insight khách hàng thông minh hơn.
Tìm hiểu thêm
Computer vision trong healthcare

Computer vision trong healthcare

Xây dựng các giải pháp healthcare với các model Ultralytics YOLO. Vision AI trong healthcare thúc đẩy chẩn đoán hình ảnh nhanh hơn, chẩn đoán thông minh hơn và giám sát bệnh nhân.
Tìm hiểu thêm
Computer vision trong sản xuất

Computer vision trong sản xuất

Tối ưu hóa sản xuất với 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
Computer vision trong ngành ô tô

Computer vision trong ngành ô tô

Ứng dụng computer vision trong ngành ô tô với các model Ultralytics YOLO. Vision AI nâng cao an toàn đường bộ, 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
Computer vision trong nông nghiệp

Computer vision trong nông nghiệp

Đưa vision AI vào nông nghiệp thông minh với các model Ultralytics YOLO. Thúc đẩy giám sát cây trồng, theo dõi vật nuôi và canh tác chính xác để đạt năng suất cao hơn, thông minh hơn.
Tìm hiểu thêm

Hãy cùng xây dựng tương lai của AI!

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