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

Tiên tiến YOLOv8 Theo dõi thử nghiệm với DVCLive

Theo dõi thử nghiệm trong machine learning là rất quan trọng để phát triển và đánh giá mô hình. Nó liên quan đến việc ghi lại và phân tích các thông số, số liệu và kết quả khác nhau từ nhiều lần đào tạo. Quá trình này rất cần thiết để hiểu hiệu suất mô hình và đưa ra quyết định dựa trên dữ liệu để tinh chỉnh và tối ưu hóa các mô hình.

Tích hợp DVCLive với Ultralytics YOLOv8 thay đổi cách theo dõi và quản lý thử nghiệm. Tích hợp này cung cấp một giải pháp liền mạch để tự động ghi lại các chi tiết thử nghiệm chính, so sánh kết quả qua các lần chạy khác nhau và trực quan hóa dữ liệu để phân tích chuyên sâu. Trong hướng dẫn này, chúng ta sẽ hiểu cách DVCLive có thể được sử dụng để hợp lý hóa quy trình.

DVCLive

Tổng quan về DVCLive

DVCLive, được phát triển bởi DVC, là một công cụ mã nguồn mở sáng tạo để theo dõi thử nghiệm trong học máy. Tích hợp hoàn hảo với Git và DVC, nó tự động hóa việc ghi lại dữ liệu thử nghiệm quan trọng như tham số mô hình và số liệu đào tạo. Được thiết kế đơn giản, DVCLive cho phép dễ dàng so sánh và phân tích nhiều lần chạy, nâng cao hiệu quả của các dự án học máy với các công cụ phân tích và trực quan hóa dữ liệu trực quan.

YOLOv8 Đào tạo với DVCLive

YOLOv8 Các buổi đào tạo có thể được giám sát hiệu quả với DVCLive. Ngoài ra, DVC cung cấp các tính năng tích hợp để trực quan hóa các thí nghiệm này, bao gồm việc tạo báo cáo cho phép so sánh các biểu đồ số liệu trên tất cả các thử nghiệm được theo dõi, cung cấp cái nhìn toàn diện về 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 DVCLive
pip install ultralytics dvclive

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

Khi bạn đã cài đặt các gói cần thiết, bước tiếp theo là thiết lập và định cấu hình môi trường của bạn với các thông tin đăng nhập cần thiết. Thiết lập này đảm bảo tích hợp DVCLive trơn tru vào quy trình làm việc hiện tại của bạn.

Bắt đầu bằng cách khởi tạo kho lưu trữ Git, vì Git đóng một vai trò quan trọng trong việc kiểm soát phiên bản cho cả mã và cấu hình DVCLive của bạn.

Thiết lập môi trường ban đầu

# Initialize a Git repository
git init -q

# Configure Git with your details
git config --local user.email "you@example.com"
git config --local user.name "Your Name"

# Initialize DVCLive in your project
dvc init -q

# Commit the DVCLive setup to your Git repository
git commit -m "DVC init"

Trong các lệnh này, hãy đảm bảo thay thế "you@example.com" bằng địa chỉ email được liên kết với tài khoản Git của bạn và "Tên của bạn" bằng tên người dùng tài khoản Git của bạn.

Sử dụng

Trước khi đi sâu vào hướng dẫn sử dụng, 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.

Đào tạo YOLOv8 Mô hình với DVCLive

Bắt đầu bằng cách chạy YOLOv8 các buổi tập huấn. Bạn có thể sử dụng các cấu hình mô hình và thông số đào tạo khác nhau cho phù hợp với nhu cầu dự án của mình. Chẳng hạn:

# Example training commands for YOLOv8 with varying configurations
yolo train model=yolov8n.pt data=coco8.yaml epochs=5 imgsz=512
yolo train model=yolov8n.pt data=coco8.yaml epochs=5 imgsz=640

Điều chỉnh mô hình, dữ liệu, kỷ nguyên và tham số imgsz theo yêu cầu cụ thể của bạn. Để hiểu chi tiết 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 YOLOv8 Hướng dẫn đào tạo mô hình.

Giám sát thử nghiệm với DVCLive

DVCLive tăng cường quá trình đào tạo bằng cách cho phép theo dõi và trực quan hóa các số liệu chính. Khi cài đặt, Ultralytics YOLOv8 tự động tích hợp với DVCLive để theo dõi thử nghiệm, sau này bạn có thể phân tích để có thông tin chi tiết về hiệu suất. Để hiểu toàn diện về các chỉ số hiệu suất cụ thể được sử dụng trong quá trình đào tạo, hãy nhớ khám phá hướng dẫn chi tiết của chúng tôi về các chỉ số hiệu suất.

Phân tích kết quả

Sau khi YOLOv8 Các buổi đào tạo đã hoàn tất, bạn có thể tận dụng các công cụ trực quan hóa mạnh mẽ của DVCLive để phân tích sâu về kết quả. Tích hợp của DVCLive đảm bảo rằng tất cả các chỉ số đào tạo được ghi lại một cách có hệ thống, tạo điều kiện đánh giá toàn diện về hiệu suất mô hình của bạn.

Để bắt đầu phân tích, bạn có thể trích xuất dữ liệu thử nghiệm bằng API của DVC và xử lý nó bằng Pandas để xử lý và trực quan hóa dễ dàng hơn:

import dvc.api
import pandas as pd

# Define the columns of interest
columns = ["Experiment", "epochs", "imgsz", "model", "metrics.mAP50-95(B)"]

# Retrieve experiment data
df = pd.DataFrame(dvc.api.exp_show(), columns=columns)

# Clean the data
df.dropna(inplace=True)
df.reset_index(drop=True, inplace=True)

# Display the DataFrame
print(df)

Đầu ra của đoạn mã ở trên cung cấp chế độ xem dạng bảng rõ ràng về các thử nghiệm khác nhau được thực hiện với YOLOv8 Mô hình. Mỗi hàng đại diện cho một quá trình đào tạo khác nhau, nêu chi tiết tên của thử nghiệm, số kỷ nguyên, kích thước hình ảnh (imgsz), mô hình cụ thể được sử dụng và chỉ số mAP50-95(B). Số liệu này rất quan trọng để đánh giá độ chính xác của mô hình, với các giá trị cao hơn cho thấy hiệu suất tốt hơn.

Trực quan hóa kết quả với Plotly

Để phân tích tương tác và trực quan hơn về kết quả thử nghiệm của bạn, bạn có thể sử dụng biểu đồ tọa độ song song của Plotly. Loại cốt truyện này đặc biệt hữu ích để hiểu các mối quan hệ và sự đánh đổi giữa các tham số và số liệu khác nhau.

from plotly.express import parallel_coordinates

# Create a parallel coordinates plot
fig = parallel_coordinates(df, columns, color="metrics.mAP50-95(B)")

# Display the plot
fig.show()

Đầu ra của đoạn mã ở trên tạo ra một biểu đồ sẽ thể hiện trực quan mối quan hệ giữa các kỷ nguyên, kích thước hình ảnh, loại mô hình và điểm mAP50-95(B) tương ứng của chúng, cho phép bạn phát hiện xu hướng và mẫu trong dữ liệu thử nghiệm của mình.

Tạo trực quan so sánh với DVC

DVC cung cấp một lệnh hữu ích để tạo các biểu đồ so sánh cho các thí nghiệm của bạn. Điều này có thể đặc biệt hữu ích để so sánh hiệu suất của các mô hình khác nhau qua các lần đào tạo khác nhau.

# Generate DVC comparative plots
dvc plots diff $(dvc exp list --names-only)

Sau khi thực hiện lệnh này, DVC tạo ra các biểu đồ so sánh các số liệu trên các thử nghiệm khác nhau, được lưu dưới dạng tệp HTML. Dưới đây là một hình ảnh ví dụ minh họa các ô điển hình được tạo ra bởi quá trình này. Hình ảnh hiển thị các biểu đồ khác nhau, bao gồm các biểu đồ đại diện cho mAP, thu hồi, độ chính xác, giá trị tổn thất và hơn thế nữa, cung cấp tổng quan trực quan về các chỉ số hiệu suất chính:

Cốt truyện DVCLive

Hiển thị các ô DVC

Nếu bạn đang sử dụng Jupyter Notebook và bạn muốn hiển thị các ô DVC được tạo, bạn có thể sử dụng chức năng hiển thị IPython.

from IPython.display import HTML

# Display the DVC plots as HTML
HTML(filename="./dvc_plots/index.html")

Mã này sẽ hiển thị tệp HTML chứa các ô DVC trực tiếp trong Jupyter Notebook của bạn, cung cấp một cách dễ dàng và thuận tiện để phân tích dữ liệu thử nghiệm trực quan.

Đưa ra quyết định dựa trên dữ liệu

Sử dụng thông tin chi tiết thu được từ các trực quan hóa này để đưa ra quyết định sáng suốt về tối ưu hóa mô hình, điều chỉnh siêu tham số và các sửa đổi khác để nâng cao hiệu suất mô hình của bạn.

Lặp lại trên thử nghiệm

Dựa trên phân tích của bạn, hãy lặp lại các thử nghiệm của bạn. Điều chỉnh cấu hình mô hình, thông số đào tạo hoặc thậm chí đầu vào dữ liệu và lặp lại quy trình đào tạo và phân tích. Cách tiếp cận lặp đi lặp lại này là chìa khóa để tinh chỉnh mô hình của bạn để có hiệu suất tốt nhất có thể.

Tóm tắt

Hướng dẫn này đã hướng dẫn bạn qua quá trình tích hợp DVCLive với Ultralytics' YOLOv8. Bạn đã học được cách khai thác sức mạnh của DVCLive để giám sát thử nghiệm chi tiết, trực quan hóa hiệu quả và phân tích sâu sắc trong nỗ lực học máy của bạn.

For further details on usage, visit DVCLive's official documentation.

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 Ultralytics Trang hướng dẫn tích hợp, là một tập hợp các tài nguyên và thông tin chi tiết tuyệt vời.



Created 2023-11-30, Updated 2024-06-21
Authors: glenn-jocher (4), abirami-vina (1)

Ý kiến