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

Tích hợp MLflow cho Ultralytics YOLO

Hệ sinh thái MLflow

Giới thiệu

Ghi nhật ký thử nghiệm là một khía cạnh quan trọng của quy trình công việc machine learning cho phép theo dõi các số liệu, thông số và thành phần lạ khác nhau. Nó giúp nâng cao khả năng tái tạo mô hình, gỡ lỗi các vấn đề và cải thiện hiệu suất mô hình. Ultralytics YOLO, được biết đến với khả năng phát hiện đối tượng theo thời gian thực, hiện cung cấp tích hợp với MLflow, một nền tảng mã nguồn mở để quản lý vòng đời máy học hoàn chỉnh.

Trang tài liệu này là hướng dẫn toàn diện để thiết lập và sử dụng khả năng ghi nhật ký MLflow cho Ultralytics YOLO dự án.

MLflow là gì?

MLflow là một nền tảng mã nguồn mở được phát triển bởi Databricks để quản lý vòng đời học máy từ đầu đến cuối. Nó bao gồm các công cụ để theo dõi các thử nghiệm, đóng gói mã thành các lần chạy có thể tái tạo, chia sẻ và triển khai các mô hình. MLflow được thiết kế để làm việc với bất kỳ thư viện máy học và ngôn ngữ lập trình nào.

Tính năng

  • Ghi nhật ký số liệu: Ghi lại số liệu vào cuối mỗi kỷ nguyên và khi kết thúc khóa đào tạo.
  • Ghi nhật ký tham số: Ghi lại tất cả các thông số được sử dụng trong đào tạo.
  • Ghi nhật ký hiện vật: Ghi nhật ký các thành phần lạ mô hình, bao gồm trọng lượng và tệp cấu hình, khi kết thúc khóa đào tạo.

Thiết lập và điều kiện tiên quyết

Đảm bảo MLflow đã được cài đặt. Nếu không, hãy cài đặt nó bằng pip:

pip install mlflow

Đảm bảo rằng ghi nhật ký MLflow được bật trong Ultralytics Cài đặt. Thông thường, điều này được kiểm soát bởi các cài đặt mflow chìa khoá. Xem Cài đặt để biết thêm thông tin.

Cập nhật Ultralytics Cài đặt MLflow

Trong Python môi trường, gọi update phương pháp trên settings Đối tượng để thay đổi cài đặt của bạn:

from ultralytics import settings

# Update a setting
settings.update({"mlflow": True})

# Reset settings to default values
settings.reset()

Nếu bạn thích sử dụng giao diện dòng lệnh, các lệnh sau sẽ cho phép bạn sửa đổi cài đặt của mình:

# Update a setting
yolo settings runs_dir='/path/to/runs'

# Reset settings to default values
yolo settings reset

Cách sử dụng

Lệnh

  1. Đặt tên dự án: Bạn có thể đặt tên dự án thông qua biến môi trường:

    export MLFLOW_EXPERIMENT_NAME=<your_experiment_name>
    

Hoặc sử dụng project=<project> Lập luận khi đào tạo a YOLO mô hình, tức là yolo train project=my_project.

  1. Đặt tên chạy: Tương tự như đặt tên dự án, bạn có thể đặt tên chạy thông qua biến môi trường:

    export MLFLOW_RUN=<your_run_name>
    

Hoặc sử dụng name=<name> Lập luận khi đào tạo a YOLO mô hình, tức là yolo train project=my_project name=my_name.

  1. Khởi động Máy chủ MLflow cục bộ: Để bắt đầu theo dõi, hãy sử dụng:

    mlflow server --backend-store-uri runs/mlflow'
    

Điều này sẽ bắt đầu một máy chủ cục bộ ở http://127.0.0.1:5000 theo mặc định và lưu tất cả các bản ghi mlflow vào thư mục 'runs / mlflow'. Để chỉ định URI khác, hãy đặt MLFLOW_TRACKING_URI biến môi trường.

  1. Kill MLflow Server Instances: Để dừng tất cả các phiên bản MLflow đang chạy, hãy chạy:

    ps aux | grep 'mlflow' | grep -v 'grep' | awk '{print $2}' | xargs kill -9
    

Đăng nhập

Việc khai thác gỗ được chăm sóc bởi on_pretrain_routine_end, on_fit_epoch_endon_train_end hàm callback. Các hàm này được tự động gọi trong các giai đoạn tương ứng của quá trình đào tạo và chúng xử lý việc ghi nhật ký các tham số, số liệu và thành phần lạ.

Ví dụ

  1. Ghi nhật ký số liệu tùy chỉnh: Bạn có thể thêm các chỉ số tùy chỉnh sẽ được ghi lại bằng cách sửa đổi trainer.metrics Từ điển trước on_fit_epoch_end được gọi là.

  2. Xem thử nghiệm: Để xem nhật ký của bạn, hãy điều hướng đến máy chủ MLflow của bạn (thường là http://127.0.0.1:5000) và chọn thử nghiệm của bạn và chạy. YOLO Thử nghiệm MLflow

  3. Xem Chạy: Chạy là các mô hình riêng lẻ bên trong một thử nghiệm. Nhấp vào Chạy và xem chi tiết Chạy, bao gồm các cấu phần lạ đã tải lên và trọng lượng mô hình. YOLO Chạy MLflow

Vô hiệu hóa MLflow

Để tắt ghi nhật ký MLflow:

yolo settings mlflow=False

Kết thúc

Tích hợp ghi nhật ký MLflow với Ultralytics YOLO Cung cấp một cách hợp lý để theo dõi các thử nghiệm máy học của bạn. Nó cho phép bạn theo dõi các chỉ số hiệu suất và quản lý các thành phần lạ một cách hiệu quả, do đó hỗ trợ phát triển và triển khai mô hình mạnh mẽ. Để biết thêm chi tiết, vui lòng truy cập tài liệu chính thức của MLflow.



Đã tạo 2023-11-12, Cập nhật 2024-05-18
Tác giả: glenn-jocher (4), Burhan-Q (1)

Ý kiến