Bỏ để qua phần nội dung

Tăng cường YOLOv8 Theo dõi và trực quan hóa thử nghiệm với Weights & Biases

Các mô hình phát hiện đối tượng như Ultralytics YOLOv8 đã trở thành một phần không thể thiếu trong nhiều ứng dụng thị giác máy tính. Tuy nhiên, việc đào tạo, đánh giá và triển khai các mô hình phức tạp này đặt ra một số thách thức. Theo dõi các chỉ số đào tạo chính, so sánh các biến thể mô hình, phân tích hành vi mô hình và phát hiện các vấn đề đòi hỏi phải quản lý thử nghiệm và thiết bị đáng kể.

This guide showcases Ultralytics YOLOv8 integration with Weights & Biases' for enhanced experiment tracking, model-checkpointing, and visualization of model performance. It also includes instructions for setting up the integration, training, fine-tuning, and visualizing results using Weights & Biases' interactive features.

Weights & Biases

Weights & Biases Tổng quan

Weights & Biases là một nền tảng MLOps tiên tiến được thiết kế để theo dõi, trực quan hóa và quản lý các thử nghiệm học máy. Nó có tính năng tự động ghi nhật ký các chỉ số đào tạo để có khả năng tái tạo thử nghiệm đầy đủ, giao diện người dùng tương tác để phân tích dữ liệu được sắp xếp hợp lý và các công cụ quản lý mô hình hiệu quả để triển khai trên các môi trường khác nhau.

YOLOv8 Đào tạo với Weights & Biases

Bạn có thể sử dụng Weights & Biases để mang lại hiệu quả và tự động hóa cho YOLOv8 quá trình đào tạo.

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 YOLOv8 and Weights & Biases
pip install --upgrade ultralytics==8.0.186 wandb

Để biết hướng dẫn chi tiết và các phương pháp hay nhất liên quan đến quá trình cài đặt, hãy nhớ kiểm tra YOLOv8 Hướng dẫn cài đặt. Trong khi cài đặt các gói cần thiết cho YOLOv8, 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.

Cấu hình Weights & Biases

Sau khi cài đặt các gói cần thiết, bước tiếp theo là thiết lập Weights & Biases môi trường. Điều này bao gồm việc tạo một Weights & Biases tài khoản và lấy khóa API cần thiết để kết nối trơn tru giữa môi trường phát triển của bạn và nền tảng W&B.

Bắt đầu bằng cách khởi tạo Weights & Biases môi trường trong không gian làm việc của bạn. Bạn có thể thực hiện việc này bằng cách chạy lệnh sau và làm theo hướng dẫn được nhắc.

Thiết lập SDK ban đầu

# Initialize your Weights & Biases environment
import wandb
wandb.login()

Điều hướng đến nút Weights & Biases trang ủy quyền để tạo và truy xuất khóa API của bạn. Sử dụng khóa này để xác thực môi trường của bạn với W&B.

Cách sử dụng: Đào tạo YOLOv8 với Weights & Biases

Trước khi đi sâu vào hướng dẫn sử dụng cho YOLOv8 Đào tạo mô hình với Weights & Biases, hãy chắc chắn kiểm tra phạm vi của YOLOv8 Mô hình được cung cấp bởi Ultralytics. Điều này sẽ giúp bạn chọn mô hình phù hợp nhất cho yêu cầu dự án của bạn.

Cách sử dụng: Đào tạo YOLOv8 với Weights & Biases

import wandb
from wandb.integration.ultralytics import add_wandb_callback

from ultralytics import YOLO

# Step 1: Initialize a Weights & Biases run
wandb.init(project="ultralytics", job_type="training")

# Step 2: Define the YOLOv8 Model and Dataset
model_name = "yolov8n"
dataset_name = "coco8.yaml"
model = YOLO(f"{model_name}.pt")

# Step 3: Add W&B Callback for Ultralytics
add_wandb_callback(model, enable_model_checkpointing=True)

# Step 4: Train and Fine-Tune the Model
model.train(project="ultralytics", data=dataset_name, epochs=5, imgsz=640)

# Step 5: Validate the Model
model.val()

# Step 6: Perform Inference and Log Results
model(["path/to/image1", "path/to/image2"])

# Step 7: Finalize the W&B Run
wandb.finish()

Hiểu mã

Let's understand the steps showcased in the usage code snippet above.

  • Bước 1: Khởi tạo a Weights & Biases Chạy: Bắt đầu bằng cách khởi tạo một Weights & Biases chạy, chỉ định tên dự án và loại công việc. Lần chạy này sẽ theo dõi và quản lý các quy trình đào tạo và xác nhận mô hình của bạn.

  • Bước 2: Xác định YOLOv8 Mô hình và Tập dữ liệu: Chỉ định biến thể mô hình và tập dữ liệu bạn muốn sử dụng. Các YOLO Mô hình sau đó được khởi tạo với tệp mô hình được chỉ định.

  • Bước 3: Thêm Weights & Biases Gọi lại cho Ultralytics: Bước này rất quan trọng vì nó cho phép tự động ghi nhật ký các số liệu đào tạo và kết quả xác thực để Weights & Biases, cung cấp cái nhìn chi tiết về hiệu suất của mô hình.

  • Bước 4: Đào tạo và tinh chỉnh mô hình: Bắt đầu đào tạo mô hình với tập dữ liệu, số kỷ nguyên và kích thước hình ảnh được chỉ định. Quá trình đào tạo bao gồm ghi nhật ký các số liệu và dự đoán vào cuối mỗi kỷ nguyên, cung cấp cái nhìn toàn diện về tiến trình học tập của mô hình.

  • Bước 5: Xác thực mô hình: Sau khi đào tạo, mô hình được xác thực. Bước này rất quan trọng để đánh giá hiệu suất của mô hình trên dữ liệu không nhìn thấy và đảm bảo khả năng khái quát hóa của nó.

  • Bước 6: Thực hiện suy luận và ghi nhật ký kết quả: Mô hình thực hiện dự đoán trên các hình ảnh được chỉ định. Những dự đoán này, cùng với lớp phủ trực quan và thông tin chi tiết, được tự động ghi vào Bảng W&B để khám phá tương tác.

  • Bước 7: Hoàn tất W&B Run: Bước này đánh dấu sự kết thúc của việc ghi dữ liệu và lưu trạng thái cuối cùng của quá trình đào tạo và xác thực mô hình của bạn trong bảng điều khiển W&B.

Hiểu đầu ra

Khi chạy đoạn mã sử dụng ở trên, bạn có thể mong đợi các kết quả đầu ra chính sau:

  • Việc thiết lập một lần chạy mới với ID duy nhất của nó, cho biết bắt đầu quá trình đào tạo.
  • A concise summary of the model's structure, including the number of layers and parameters.
  • Cập nhật thường xuyên về các chỉ số quan trọng như mất hộp, mất cls, mất dfl, độ chính xác, thu hồi và điểm mAP trong mỗi kỷ nguyên đào tạo.
  • Vào cuối khóa đào tạo, các số liệu chi tiết bao gồm tốc độ suy luận của mô hình và số liệu chính xác tổng thể sẽ được hiển thị.
  • Liên kết đến Weights & Biases Bảng điều khiển để phân tích chuyên sâu và trực quan hóa quá trình đào tạo, cùng với thông tin về vị trí tệp nhật ký cục bộ.

Xem Weights & Biases Bảng điều khiển

Sau khi chạy đoạn mã sử dụng, bạn có thể truy cập Weights & Biases Bảng điều khiển (W&B) thông qua liên kết được cung cấp trong đầu ra. Bảng điều khiển này cung cấp cái nhìn toàn diện về quy trình đào tạo mô hình của bạn với YOLOv8.

Các tính năng chính của Weights & Biases Bảng điều khiển

  • Real-Time Metrics Tracking: Observe metrics like loss, accuracy, and validation scores as they evolve during the training, offering immediate insights for model tuning. See how experiments are tracked using Weights & Biases.

  • Tối ưu hóa siêu tham số: Weights & Biases hỗ trợ tinh chỉnh các thông số quan trọng như tỷ lệ học tập, kích thước lô và hơn thế nữa, nâng cao hiệu suất của YOLOv8.

  • Phân tích so sánh: Nền tảng này cho phép so sánh song song các lần chạy đào tạo khác nhau, điều cần thiết để đánh giá tác động của các cấu hình mô hình khác nhau.

  • Visualization of Training Progress: Graphical representations of key metrics provide an intuitive understanding of the model's performance across epochs. See how Weights & Biases helps you visualize validation results.

  • Giám sát tài nguyên: Theo dõi việc sử dụng CPU, GPU và bộ nhớ để tối ưu hóa hiệu quả của quá trình đào tạo.

  • Quản lý thành phần lạ mô hình: Truy cập và chia sẻ các điểm kiểm tra mô hình, tạo điều kiện triển khai và cộng tác dễ dàng.

  • Viewing Inference Results with Image Overlay: Visualize the prediction results on images using interactive overlays in Weights & Biases, providing a clear and detailed view of model performance on real-world data. For more detailed information on Weights & Biases' image overlay capabilities, check out this link. See how Weights & Biases' image overlays helps visualize model inferences.

Bằng cách sử dụng các tính năng này, bạn có thể theo dõi, phân tích và tối ưu hóa hiệu quả YOLOv8 đào tạo mô hình, đảm bảo hiệu suất và hiệu quả tốt nhất có thể.

Tóm tắt

This guide helped you explore Ultralytics' YOLOv8 integration with Weights & Biases. It illustrates the ability of this integration to efficiently track and visualize model training and prediction results.

Để biết thêm chi tiết về cách sử dụng, hãy truy cập Weights & Biases' tài liệu chính thức.

Ngoài ra, hãy chắc chắn kiểm tra Ultralytics Trang hướng dẫn tích hợp, để tìm hiểu thêm về các tích hợp thú vị khác nhau.



Created 2023-12-28, Updated 2024-06-20
Authors: ambitious-octopus (1), glenn-jocher (8), IvorZhu331 (1), abirami-vina (1)

Ý kiến