Huấn luyện YOLO11 với ClearML: Hợp lý hóa quy trình MLOps của bạn
MLOps thu hẹp khoảng cách giữa việc tạo và triển khai các mô hình học máy trong môi trường thực tế. Nó tập trung vào việc triển khai hiệu quả, khả năng mở rộng và quản lý liên tục để đảm bảo các mô hình hoạt động tốt trong các ứng dụng thực tế.
Ultralytics YOLO11 dễ dàng tích hợp với ClearML, giúp đơn giản hóa và nâng cao quá trình đào tạo và quản lý mô hình phát hiện đối tượng của bạn. Hướng dẫn này sẽ hướng dẫn bạn quy trình tích hợp, trình bày chi tiết cách thiết lập ClearML, quản lý các thử nghiệm, tự động hóa quản lý mô hình và cộng tác hiệu quả.
ClearML
ClearML là một nền tảng MLOps mã nguồn mở tiên tiến, được thiết kế khéo léo để tự động hóa, giám sát và điều phối các quy trình làm việc của máy học. Các tính năng chính của nó bao gồm ghi nhật ký tự động tất cả dữ liệu huấn luyện và suy luận để tái tạo lại toàn bộ thử nghiệm, giao diện người dùng web trực quan để dễ dàng trực quan hóa dữ liệu và phân tích, các thuật toán tối ưu hóa siêu tham số nâng cao và quản lý mô hình mạnh mẽ để triển khai hiệu quả trên nhiều nền tảng khác nhau.
Huấn luyện YOLO11 với ClearML
Bạn có thể mang lại sự tự động hóa và hiệu quả cho quy trình làm việc máy học của mình bằng cách cải thiện quy trình đào tạo thông qua tích hợp YOLO11 với ClearML.
Cài đặt
Để cài đặt các gói cần thiết, hãy chạy:
Cài đặt
# Install the required packages for YOLO11 and ClearML
pip install ultralytics clearml
Để biết hướng dẫn chi tiết và các phương pháp hay nhất liên quan đến quy trình cài đặt, hãy nhớ xem hướng dẫn Cài đặt YOLO11 của chúng tôi. Trong khi cài đặt các gói cần thiết cho YOLO11, nếu bạn gặp bất kỳ khó khăn nào, hãy tham khảo hướng dẫn Các vấn đề thường gặp của chúng tôi để biết các giải pháp và mẹo.
Định cấu hình ClearML
Sau khi bạn đã cài đặt các gói cần thiết, bước tiếp theo là khởi tạo và định cấu hình ClearML SDK. Điều này bao gồm thiết lập tài khoản ClearML của bạn và lấy thông tin xác thực cần thiết để kết nối liền mạch giữa môi trường phát triển của bạn và máy chủ ClearML.
Bắt đầu bằng cách khởi tạo ClearML SDK trong môi trường của bạn. Lệnh 'clearml-init' bắt đầu quá trình thiết lập và nhắc bạn nhập thông tin xác thực cần thiết.
Thiết lập SDK ban đầu
# Initialize your ClearML SDK setup process
clearml-init
Sau khi thực thi lệnh này, hãy truy cập trang Cài đặt ClearML. Điều hướng đến góc trên cùng bên phải và chọn "Settings" (Cài đặt). Chuyển đến phần "Workspace" (Không gian làm việc) và nhấp vào "Create new credentials" (Tạo thông tin xác thực mới). Sử dụng thông tin xác thực được cung cấp trong cửa sổ bật lên "Create Credentials" (Tạo thông tin xác thực) để hoàn tất thiết lập theo hướng dẫn, tùy thuộc vào việc bạn đang định cấu hình ClearML trong Jupyter Notebook hay môi trường python cục bộ.
Cách sử dụng
Trước khi đi sâu vào hướng dẫn sử dụng, hãy nhớ xem qua phạm vi các mô hình YOLO11 do Ultralytics cung cấp. Điều này sẽ giúp bạn chọn mô hình phù hợp nhất cho các yêu cầu của dự án.
Cách sử dụng
from clearml import Task
from ultralytics import YOLO
# Step 1: Creating a ClearML Task
task = Task.init(project_name="my_project", task_name="my_yolov8_task")
# Step 2: Selecting the YOLO11 Model
model_variant = "yolo11n"
task.set_parameter("model_variant", model_variant)
# Step 3: Loading the YOLO11 Model
model = YOLO(f"{model_variant}.pt")
# Step 4: Setting Up Training Arguments
args = dict(data="coco8.yaml", epochs=16)
task.connect(args)
# Step 5: Initiating Model Training
results = model.train(**args)
Tìm hiểu về Code
Hãy cùng tìm hiểu các bước được trình bày trong đoạn mã sử dụng ở trên.
Bước 1: Tạo Nhiệm vụ ClearML: Một nhiệm vụ mới được khởi tạo trong ClearML, chỉ định tên dự án và nhiệm vụ của bạn. Nhiệm vụ này sẽ theo dõi và quản lý quá trình đào tạo mô hình của bạn.
Bước 2: Chọn Mô hình YOLO11: Cái model_variant
biến được đặt thành 'yolo11n', một trong các mô hình YOLO11. Biến thể này sau đó được ghi lại trong ClearML để theo dõi.
Bước 3: Tải Mô hình YOLO11: Mô hình YOLO11 đã chọn được tải bằng lớp YOLO của Ultralytics, chuẩn bị cho quá trình đào tạo.
Bước 4: Thiết lập Đối số Đào tạo: Các đối số đào tạo chính như bộ dữ liệu (coco8.yaml
) và số lượng epochs (16
) được sắp xếp trong một từ điển và được kết nối với nhiệm vụ ClearML. Điều này cho phép theo dõi và sửa đổi tiềm năng thông qua giao diện người dùng ClearML. Để hiểu rõ hơn về quy trình đào tạo mô hình và các phương pháp hay nhất, hãy tham khảo hướng dẫn Đào tạo Mô hình YOLO11.
Bước 5: Bắt đầu Đào tạo Mô hình: Quá trình đào tạo mô hình được bắt đầu với các đối số đã chỉ định. Kết quả của quá trình đào tạo được ghi lại trong results
biến.
Tìm hiểu về Output
Sau khi chạy đoạn mã sử dụng ở trên, bạn có thể mong đợi đầu ra sau:
- Thông báo xác nhận cho biết việc tạo một nhiệm vụ ClearML mới, cùng với ID duy nhất của nó.
- Một thông báo thông tin về mã script đang được lưu trữ, cho biết rằng việc thực thi mã đang được ClearML theo dõi.
- Một liên kết URL đến trang kết quả ClearML, nơi bạn có thể theo dõi tiến trình đào tạo và xem nhật ký chi tiết.
- Tải xuống tiến trình cho mô hình YOLO11 và bộ dữ liệu đã chỉ định, sau đó là tóm tắt về kiến trúc mô hình và cấu hình đào tạo.
- Thông báo khởi tạo cho các thành phần huấn luyện khác nhau như TensorBoard, Độ chính xác hỗn hợp tự động (AMP) và chuẩn bị bộ dữ liệu.
- Cuối cùng, quá trình huấn luyện bắt đầu, với các cập nhật tiến trình khi mô hình được huấn luyện trên bộ dữ liệu đã chỉ định. Để hiểu sâu hơn về các chỉ số hiệu suất được sử dụng trong quá trình huấn luyện, hãy đọc hướng dẫn của chúng tôi về các chỉ số hiệu suất.
Xem Trang Kết Quả ClearML
Bằng cách nhấp vào liên kết URL đến trang kết quả ClearML trong đầu ra của đoạn mã sử dụng, bạn có thể truy cập chế độ xem toàn diện về quá trình huấn luyện mô hình của mình.
Các Tính Năng Chính của Trang Kết Quả ClearML
-
Theo dõi số liệu theo thời gian thực
- Theo dõi các số liệu quan trọng như loss, độ chính xác và điểm xác thực khi chúng xảy ra.
- Cung cấp phản hồi ngay lập tức để điều chỉnh hiệu suất mô hình kịp thời.
-
So sánh thử nghiệm
- So sánh các lần chạy huấn luyện khác nhau cạnh nhau.
- Thiết yếu cho việc điều chỉnh siêu tham số và xác định các mô hình hiệu quả nhất.
-
Nhật ký và đầu ra chi tiết
- Truy cập nhật ký toàn diện, biểu diễn đồ họa của các số liệu và đầu ra của bảng điều khiển.
- Hiểu sâu hơn về hành vi của mô hình và giải quyết vấn đề.
-
Giám sát sử dụng tài nguyên
- Giám sát việc sử dụng tài nguyên tính toán, bao gồm CPU, GPU và bộ nhớ.
- Chìa khóa để tối ưu hóa hiệu quả và chi phí đào tạo.
-
Quản lý hiện vật mô hình
- Xem, tải xuống và chia sẻ các hiện vật mô hình như mô hình đã huấn luyện và điểm kiểm tra.
- Tăng cường sự hợp tác và hợp lý hóa việc triển khai mô hình và chia sẻ.
Để có một hướng dẫn trực quan về giao diện của Trang kết quả ClearML, hãy xem video bên dưới:
Xem: Tích hợp YOLO11 MLOps bằng ClearML
Các Tính Năng Nâng Cao trong ClearML
ClearML cung cấp một số tính năng nâng cao để tăng cường trải nghiệm MLOps của bạn.
Thực thi từ xa
Tính năng thực thi từ xa của ClearML tạo điều kiện thuận lợi cho việc tái tạo và thao tác các thử nghiệm trên các máy khác nhau. Nó ghi lại các chi tiết cần thiết như các gói đã cài đặt và các thay đổi chưa cam kết. Khi một tác vụ được đưa vào hàng đợi, ClearML Agent sẽ kéo nó, tạo lại môi trường và chạy thử nghiệm, báo cáo lại với kết quả chi tiết.
Việc triển khai ClearML Agent rất đơn giản và có thể được thực hiện trên nhiều máy khác nhau bằng lệnh sau:
clearml-agent daemon --queue QUEUES_TO_LISTEN_TO [--docker]
Thiết lập này có thể áp dụng cho các VM đám mây, GPU cục bộ hoặc máy tính xách tay. ClearML Autoscalers giúp quản lý khối lượng công việc trên nền tảng đám mây như AWS, GCP và Azure, tự động triển khai các agent và điều chỉnh tài nguyên dựa trên ngân sách tài nguyên của bạn.
Sao chép (Cloning), Chỉnh sửa và Đưa vào hàng đợi (Enqueuing)
Giao diện thân thiện với người dùng của ClearML cho phép dễ dàng nhân bản, chỉnh sửa và đưa các tác vụ vào hàng đợi. Người dùng có thể nhân bản một thử nghiệm hiện có, điều chỉnh các tham số hoặc các chi tiết khác thông qua UI và đưa tác vụ vào hàng đợi để thực thi. Quy trình hợp lý này đảm bảo rằng ClearML Agent thực thi tác vụ sử dụng các cấu hình được cập nhật, khiến nó trở nên lý tưởng cho thử nghiệm lặp đi lặp lại và tinh chỉnh mô hình.
Quản Lý Phiên Bản Tập Dữ Liệu
ClearML cũng cung cấp các khả năng quản lý phiên bản tập dữ liệu mạnh mẽ, tích hợp liền mạch với quy trình huấn luyện YOLO11. Tính năng này cho phép bạn:
- Kiểm soát phiên bản (version) bộ dữ liệu của bạn riêng biệt với code của bạn
- Theo dõi phiên bản bộ dữ liệu nào đã được sử dụng cho mỗi thử nghiệm
- Dễ dàng truy cập và tải xuống phiên bản bộ dữ liệu mới nhất
Để chuẩn bị bộ dữ liệu của bạn cho ClearML, hãy làm theo các bước sau:
- Sắp xếp bộ dữ liệu của bạn theo cấu trúc YOLO tiêu chuẩn (ảnh, nhãn, v.v.).
- Sao chép tệp YAML tương ứng vào thư mục gốc của bộ dữ liệu của bạn
-
Tải bộ dữ liệu của bạn lên bằng công cụ ClearML Data:
cd your_dataset_folder clearml-data sync --project YOLOv11 --name your_dataset_name --folder .
Lệnh này sẽ tạo một bộ dữ liệu được quản lý phiên bản trong ClearML có thể được tham chiếu trong các tập lệnh huấn luyện của bạn, đảm bảo khả năng tái tạo và dễ dàng truy cập vào dữ liệu của bạn.
Tóm tắt
Hướng dẫn này đã giúp bạn thực hiện quy trình tích hợp ClearML với YOLO11 của Ultralytics. Bao gồm mọi thứ từ thiết lập ban đầu đến quản lý mô hình nâng cao, bạn đã khám phá cách tận dụng ClearML để đào tạo hiệu quả, theo dõi thử nghiệm và tối ưu hóa quy trình làm việc trong các dự án học máy của mình.
Để biết thêm chi tiết về cách sử dụng, hãy truy cập tài liệu chính thức của ClearML.
Ngoài ra, hãy khám phá thêm các tích hợp và khả năng của Ultralytics bằng cách truy cập trang hướng dẫn tích hợp Ultralytics, đây là một kho tài nguyên và thông tin chi tiết.
Câu hỏi thường gặp
Quy trình tích hợp Ultralytics YOLO11 với ClearML là gì?
Tích hợp Ultralytics YOLO11 với ClearML bao gồm một loạt các bước để hợp lý hóa quy trình MLOps của bạn. Đầu tiên, hãy cài đặt các gói cần thiết:
pip install ultralytics clearml
Tiếp theo, khởi tạo ClearML SDK trong môi trường của bạn bằng cách sử dụng:
clearml-init
Sau đó, bạn định cấu hình ClearML bằng thông tin đăng nhập của mình từ trang Cài đặt ClearML. Hướng dẫn chi tiết về toàn bộ quy trình thiết lập, bao gồm lựa chọn mô hình và cấu hình đào tạo, có thể được tìm thấy trong hướng dẫn Đào tạo Mô hình YOLO11 của chúng tôi.
Tại sao tôi nên sử dụng ClearML với Ultralytics YOLO11 cho các dự án học máy của mình?
Sử dụng ClearML với Ultralytics YOLO11 giúp tăng cường các dự án học máy của bạn bằng cách tự động hóa việc theo dõi thử nghiệm, hợp lý hóa quy trình làm việc và cho phép quản lý mô hình mạnh mẽ. ClearML cung cấp tính năng theo dõi số liệu theo thời gian thực, giám sát việc sử dụng tài nguyên và giao diện thân thiện với người dùng để so sánh các thử nghiệm. Các tính năng này giúp tối ưu hóa hiệu suất mô hình của bạn và làm cho quá trình phát triển hiệu quả hơn. Tìm hiểu thêm về các lợi ích và quy trình trong hướng dẫn Tích hợp MLOps của chúng tôi.
Làm cách nào để khắc phục các sự cố thường gặp trong quá trình tích hợp YOLO11 và ClearML?
Nếu bạn gặp sự cố trong quá trình tích hợp YOLO11 với ClearML, hãy tham khảo hướng dẫn Các Vấn đề Thường gặp của chúng tôi để biết các giải pháp và mẹo. Các sự cố điển hình có thể liên quan đến lỗi cài đặt gói, thiết lập thông tin đăng nhập hoặc sự cố cấu hình. Hướng dẫn này cung cấp hướng dẫn khắc phục sự cố từng bước để giải quyết các sự cố thường gặp này một cách hiệu quả.
Làm cách nào để thiết lập tác vụ ClearML để huấn luyện mô hình YOLO11?
Thiết lập một tác vụ ClearML để đào tạo YOLO11 bao gồm khởi tạo một tác vụ, chọn biến thể mô hình, tải mô hình, thiết lập các đối số đào tạo và cuối cùng là bắt đầu đào tạo mô hình. Dưới đây là một ví dụ đơn giản:
from clearml import Task
from ultralytics import YOLO
# Step 1: Creating a ClearML Task
task = Task.init(project_name="my_project", task_name="my_yolov8_task")
# Step 2: Selecting the YOLO11 Model
model_variant = "yolo11n"
task.set_parameter("model_variant", model_variant)
# Step 3: Loading the YOLO11 Model
model = YOLO(f"{model_variant}.pt")
# Step 4: Setting Up Training Arguments
args = dict(data="coco8.yaml", epochs=16)
task.connect(args)
# Step 5: Initiating Model Training
results = model.train(**args)
Tham khảo hướng dẫn Sử dụng của chúng tôi để biết phân tích chi tiết về các bước này.
Tôi có thể xem kết quả huấn luyện YOLO11 của mình ở đâu trong ClearML?
Sau khi chạy tập lệnh đào tạo YOLO11 của bạn với ClearML, bạn có thể xem kết quả trên trang kết quả ClearML. Đầu ra sẽ bao gồm một liên kết URL đến bảng điều khiển ClearML, nơi bạn có thể theo dõi các số liệu, so sánh các thử nghiệm và giám sát việc sử dụng tài nguyên. Để biết thêm chi tiết về cách xem và diễn giải kết quả, hãy xem phần của chúng tôi về Xem Trang Kết quả ClearML.