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ể.

Hướng dẫn này giới thiệu Ultralytics YOLOv8 Tích hợp với Weights & Biases' để theo dõi thử nghiệm nâng cao, điểm kiểm tra mô hình và trực quan hóa hiệu suất mô hình. Nó cũng bao gồm các hướng dẫn để thiết lập tích hợp, đào tạo, tinh chỉnh và trực quan hóa kết quả bằng cách sử dụng Weights & Biases' tính năng tương tác.

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 ultralytics import YOLO
from wandb.integration.ultralytics import add_wandb_callback

# 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ã

Hãy hiểu các bước được trình bày trong đoạn mã sử dụng ở trên.

  • 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.
  • Một bản tóm tắt ngắn gọn về cấu trúc của mô hình, bao gồm số lượng lớp và tham số.
  • 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

  • Theo dõi số liệu thời gian thực: Quan sát các số liệu như tổn thất, độ chính xác và điểm xác thực khi chúng phát triển trong quá trình đào tạo, cung cấp thông tin chi tiết ngay lập tức để điều chỉnh mô hình.

  • 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.

  • Trực quan hóa tiến trình đào tạo: Biểu diễn đồ họa của các số liệu chính cung cấp sự hiểu biết trực quan về hiệu suất của mô hình qua các thời đại.

  • 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.

  • Xem kết quả suy luận bằng Lớp phủ hình ảnh: Trực quan hóa kết quả dự đoán trên hình ảnh bằng cách sử dụng lớp phủ tương tác trong Weights & Biases, cung cấp cái nhìn rõ ràng và chi tiết về hiệu suất mô hình trên dữ liệu trong thế giới thực. Để biết thêm thông tin chi tiết về Weights & Biases'Khả năng lớp phủ hình ảnh, hãy xem liên kết này.

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

Hướng dẫn này đã giúp bạn khám phá Ultralytics' YOLOv8 Tích hợp với Weights & Biases. Nó minh họa khả năng của sự tích hợp này để theo dõi và trực quan hóa hiệu quả các kết quả dự đoán và đào tạo mô hình.

Để 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.



Đã tạo 2023-12-28, Cập nhật 2024-05-18
Tác giả: Glenn-Jocher (5), Abirami-Vina (1)

Ý kiến