Gặp gỡ YOLO26: AI tầm nhìn thế hệ tiếp theo.
Ultralytics
Tích hợp

Đào tạo và giám sát từ xa Ultralytics YOLOv5 sử dụng ClearML

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

ĐỘĐội ngũ Ultralytics
4 min read
Đào tạo 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 việc nghiên cứu và phát triển các công cụ mã nguồn mở tuyệt vời của mình, như YOLOv5, nhằm giữ cho chúng miễn phí cho mọi người. Bài viết này có thể chứa các liên kết tiếp thị 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 tăng tốc áp dụng ML, ClearML giúp việc tích hợp ML trở nên liền mạch vào bất kỳ sản phẩm phần mềm và phần cứng nào hiện có.

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

Link to this sectionNâng tầm khả năng theo dõi thử nghiệm của bạn#

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

Việc sử dụng bao nhiêu công cụ trong số này hoàn toàn tùy thuộc vào bạn, bạn có thể chỉ gắn bó với trình quản lý thử nghiệm, hoặc kết hợp tất cả chúng lại thành một quy trình làm việc ấn tượng.

Link to this sectionThiết lập mọi thứ#

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

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

  1. Cài đặt gói python clearml: 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 (đi tới góc trên bên phải chọn Settings → Workspace → Create new credentials), sau đó thực thi lệnh dưới đây và làm theo hướng dẫn: clearml-init

Và voilà! Bạn đã sẵn sàng để bắt đầu...

Link to this sectionHuấn luyện YOLOv5 với ClearML#

Để bật tính năng theo dõi thử nghiệm ClearML, chỉ cần cài đặt gói pip ClearML.

pip install clearml

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

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

Điều này sẽ ghi lại:

  • Mã nguồn + các thay đổi chưa được commit
  • Các gói đã cài đặt
  • (Siêu) tham số
  • Các tệp model (sử dụng --save-period n để lưu checkpoint sau mỗi n epoch)
  • Đầu ra console
  • Các đại lượng 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, thời gian chạy, ngày tạo, v.v.
  • Tất cả các biểu đồ được tạo ra như correlogram nhãn và confusion matrix
  • Hình ảnh với bounding box cho mỗi epoch
  • Mosaic cho mỗi epoch
  • Hình ảnh validation cho mỗi epoch

Không tệ chút nào! Bây giờ, chúng ta có thể trực quan hóa tất cả thông tin này trong giao diện người dùng ClearML để 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 (ví dụ: mAP_0.5) để bạn có thể dễ dàng sắp xếp theo model 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 ta thậm chí có thể làm được nhiều hơn thế với tất cả thông tin này, như tối ưu hóa siêu tham số 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!

Link to this sectionQuản lý phiên bản tập dữ liệu#

Quản lý phiên bản dữ liệu tách biệt với mã nguồn là một ý tưởng hay và giúp bạn dễ dàng có được phiên bản mới nhất. Kho lưu trữ này hỗ trợ cung cấp ID phiên bản tập dữ liệu, và nó sẽ đảm bảo lấy dữ liệu nếu nó chưa có ở đó. Bên cạnh đó, quy trình làm việc này còn lưu ID tập dữ liệu đã sử dụng như một phần của tham số tác vụ, vì vậy bạn sẽ luôn biết chắc chắn dữ liệu nào đã được sử dụng trong thử nghiệm nào!

Link to this sectionChuẩn bị tập dữ liệu của bạn#

Kho lưu trữ YOLOv5 hỗ trợ một số tập dữ liệu khác nhau bằng cách sử dụng các tệp YAML chứa thông tin của chúng. Theo mặc định, các tập dữ liệu được tải xuống thư mục ../datasets liên quan đến thư mục gốc của kho lưu trữ. Vì vậy, nếu bạn đã tải xuống tập dữ liệu coco128 bằng liên kết trong YAML hoặc với các tập lệnh được cung cấp bởi yolov5, bạn sẽ có cấu trúc thư mục này:

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

Nhưng đây có thể là bất kỳ tập dữ liệu nào bạn muốn. Hãy thoải mái sử dụng tập dữ liệu của riêng bạn, miễn là bạn tuân thủ cấu trúc thư mục này.

Tiếp theo, ⚠️sao chép tệp YAML tương ứng vào thư mục gốc của tập dữ liệu⚠️. Các tệp YAML này chứa thông tin ClearML sẽ cần để sử dụng tập dữ liệu một cách chính xác. Bạn cũng có thể tự tạo tệp này, tất nhiên, chỉ cần làm theo cấu trúc của các tệp YAML mẫu.

Về cơ bản, chúng ta cần các khóa sau: path, train, test, val, nc, names.

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

Link to this sectionTải lên tập dữ liệu của bạn#

Để đưa tập dữ liệu này vào ClearML dưới dạng tập dữ liệu được quản lý phiên bản, hãy đi tới thư mục gốc của tập dữ liệu và chạy lệnh sau:

cd coco128

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

Lệnh clearml-data sync thực chất là một lệnh viết tắt. Bạn cũng có thể chạy các lệnh này nối tiếp nhau:

# 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

Link to this sectionChạy huấn luyện sử dụng tập dữ liệu ClearML#

Bây giờ bạn đã có tập dữ liệu ClearML, bạn có thể sử dụng nó rất đơn giản để 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

Link to this sectionTối ưu hóa siêu tham số#

Bây giờ chúng ta đã có các thử nghiệm và phiên bản dữ liệu, đã đến lúc xem xét những gì chúng ta có thể xây dựng dựa trên đó!

Sử dụng thông tin mã nguồn, các gói đã cài đặt và chi tiết môi trường, chính thử nghiệm đó hiện đã hoàn toàn có thể tái lập. Trên thực tế, ClearML cho phép bạn clone một thử nghiệm và thậm chí thay đổi các tham số của nó. Sau đó, chúng ta có thể chỉ cần chạy lại nó với các tham số mới này một cách tự động, đây về cơ bản là những gì HPO thực hiện!

Để chạy tối ưu hóa siêu tham số cục bộ, chúng tôi đã bao gồm một tập lệnh dựng sẵn cho bạn. Chỉ cần đảm bảo rằng một tác vụ huấn luyện đã được chạy ít nhất một lần, để nó xuất hiện trong trình quản lý thử nghiệm ClearML, về cơ bản chúng tôi sẽ clone nó và thay đổi các siêu tham số của nó.

Bạn sẽ cần điền ID của tác vụ mẫu này vào tập lệnh có trong utils/loggers/clearml/hpo.py và sau đó chỉ cần chạy nó. Bạn có thể thay đổi task.execute_locally() thành task.execute() để đưa nó vào hàng đợi ClearML và để một tác nhân từ xa xử lý thay thế.

# 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

Link to this sectionThực thi từ xa (Nâng cao)#

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

Xem những gì tác nhân có thể làm tại đây:

Tóm lại: mọi thử nghiệm được theo dõi bởi trình quản lý thử nghiệm đều chứa đủ thông tin để tái lập nó trên một máy khác (các gói đã cài đặt, các thay đổi chưa được commit, v.v.). Vì vậy, một ClearML agent làm chính xác điều đó: nó lắng nghe hàng đợi cho các tác vụ đến và khi tìm thấy một tác vụ, nó sẽ tạo lại môi trường và chạy nó trong khi vẫn báo cáo các đại lượng vô hướng, biểu đồ, v.v. về cho trình quản lý thử nghiệm.

Bạn có thể biến bất kỳ máy nào (máy ảo đám mây, máy GPU cục bộ, máy tính xách tay của riêng bạn) thành một ClearML agent bằng cách chỉ cần chạy:

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

Link to this sectionClone, Chỉnh sửa và Đưa vào hàng đợi#

Với tác nhân của chúng tôi đang chạy, chúng ta có thể giao việc cho nó. Bạn còn nhớ từ phần HPO rằng chúng ta có thể clone một tác vụ và chỉnh sửa các siêu tham số không? Chúng ta cũng có thể thực hiện điều đó từ giao diện!

🪄 Clone thử nghiệm bằng cách nhấp chuột phải vào nó

🎯 Chỉnh sửa các siêu tham số theo ý muốn của bạn

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

Link to this sectionThực thi tác vụ từ xa#

Bây giờ bạn có thể clone một tác vụ như chúng tôi đã giải thích ở trên, hoặc đơn giản là đánh dấu tập lệnh hiện tại của bạn bằng cách thêm task.execute_remotely() và khi thực thi, nó sẽ được đưa vào hàng đợi để tác nhân bắt đầu xử lý!

Để chạy tập lệnh huấn luyện YOLOv5 từ xa, tất cả những gì bạn phải làm là thêm dòng này vào tập lệnh train.py sau khi trình ghi nhật ký ClearML đã đượ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 nào không? Tham gia cộng đồng của chúng tôi và để lại câu hỏi của bạn ngay hôm nay!

Explore solutions

Real-time AI that works with your team

AI trong ngành Robot

Tăng cường sức mạnh cho các cỗ máy thông minh hơn với các model Ultralytics YOLO. AI thị giác trong lĩnh vực robot thúc đẩy khả năng điều hướng tự hành, nhận thức, theo dõi đối tượng và điều khiển thời gian thực.
Tìm hiểu thêm
Real-time AI that works with your team

AI trong Logistics

Tối ưu hóa logistics với các model Ultralytics YOLO. Vision AI hỗ trợ kiểm tra hàng hóa, phân loại, theo dõi phương tiện và giám sát an toàn kho bãi trong thời gian thực.
Tìm hiểu thêm
Real-time AI that works with your team

AI trong ngành Bán lẻ

Tái định hình bán lẻ với các model Ultralytics YOLO. Vision AI thúc đẩy theo dõi hàng tồn kho, giám sát kệ hàng, quản lý hàng đợi và thông tin chi tiết thông minh hơn về khách hàng.
Tìm hiểu thêm
Real-time AI that works with your team

AI trong chăm sóc sức khỏe

Xây dựng các giải pháp y tế với các model Ultralytics YOLO. AI thị giác trong y tế hỗ trợ chẩn đoán hình ảnh y khoa 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
Real-time AI that works with your team

AI 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
Real-time AI that works with your operation

AI trong Ô tô

Áp dụng thị giác máy tính trong ô tô với các model Ultralytics YOLO. AI thị giác nâng cao an toàn đường bộ, hỗ trợ người lái và tự động hóa phương tiện cho những con đường thông minh hơn.
Tìm hiểu thêm
Real-time AI tailored to your operation

AI trong Nông nghiệp

Mang AI thị giác vào nông nghiệp thông minh với các model Ultralytics YOLO. Tăng cường giám sát mùa mà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
Real-time AI that works with your team

AI trong ngành Robot

Tăng cường sức mạnh cho các cỗ máy thông minh hơn với các model Ultralytics YOLO. AI thị giác trong lĩnh vực robot thúc đẩy khả năng điều hướng tự hành, nhận thức, theo dõi đối tượng và điều khiển thời gian thực.
Tìm hiểu thêm
Real-time AI that works with your team

AI trong Logistics

Tối ưu hóa logistics với các model Ultralytics YOLO. Vision AI hỗ trợ kiểm tra hàng hóa, phân loại, theo dõi phương tiện và giám sát an toàn kho bãi trong thời gian thực.
Tìm hiểu thêm
Real-time AI that works with your team

AI trong ngành Bán lẻ

Tái định hình bán lẻ với các model Ultralytics YOLO. Vision AI thúc đẩy theo dõi hàng tồn kho, giám sát kệ hàng, quản lý hàng đợi và thông tin chi tiết thông minh hơn về khách hàng.
Tìm hiểu thêm
Real-time AI that works with your team

AI trong chăm sóc sức khỏe

Xây dựng các giải pháp y tế với các model Ultralytics YOLO. AI thị giác trong y tế hỗ trợ chẩn đoán hình ảnh y khoa 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
Real-time AI that works with your team

AI 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
Real-time AI that works with your operation

AI trong Ô tô

Áp dụng thị giác máy tính trong ô tô với các model Ultralytics YOLO. AI thị giác nâng cao an toàn đường bộ, hỗ trợ người lái và tự động hóa phương tiện cho những con đường thông minh hơn.
Tìm hiểu thêm
Real-time AI tailored to your operation

AI trong Nông nghiệp

Mang AI thị giác vào nông nghiệp thông minh với các model Ultralytics YOLO. Tăng cường giám sát mùa mà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
Real-time AI that works with your team

AI trong ngành Robot

Tăng cường sức mạnh cho các cỗ máy thông minh hơn với các model Ultralytics YOLO. AI thị giác trong lĩnh vực robot thúc đẩy khả năng điều hướng tự hành, nhận thức, theo dõi đối tượng và điều khiển thời gian thực.
Tìm hiểu thêm
Real-time AI that works with your team

AI trong Logistics

Tối ưu hóa logistics với các model Ultralytics YOLO. Vision AI hỗ trợ kiểm tra hàng hóa, phân loại, theo dõi phương tiện và giám sát an toàn kho bãi trong thời gian thực.
Tìm hiểu thêm
Real-time AI that works with your team

AI trong ngành Bán lẻ

Tái định hình bán lẻ với các model Ultralytics YOLO. Vision AI thúc đẩy theo dõi hàng tồn kho, giám sát kệ hàng, quản lý hàng đợi và thông tin chi tiết thông minh hơn về khách hàng.
Tìm hiểu thêm
Real-time AI that works with your team

AI trong chăm sóc sức khỏe

Xây dựng các giải pháp y tế với các model Ultralytics YOLO. AI thị giác trong y tế hỗ trợ chẩn đoán hình ảnh y khoa 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
Real-time AI that works with your team

AI 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
Real-time AI that works with your operation

AI trong Ô tô

Áp dụng thị giác máy tính trong ô tô với các model Ultralytics YOLO. AI thị giác nâng cao an toàn đường bộ, hỗ trợ người lái và tự động hóa phương tiện cho những con đường thông minh hơn.
Tìm hiểu thêm
Real-time AI tailored to your operation

AI trong Nông nghiệp

Mang AI thị giác vào nông nghiệp thông minh với các model Ultralytics YOLO. Tăng cường giám sát mùa mà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 nhau 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