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.

  2. Đặ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.

  3. 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ộ tại http://127.0.0.1:5000 Theo mặc định và lưu tất cả nhật ký 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.

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

FAQ

Làm cách nào để thiết lập ghi nhật ký MLflow với Ultralytics YOLO?

Để thiết lập ghi nhật ký MLflow với Ultralytics YOLO, trước tiên bạn cần đảm bảo MLflow đã được cài đặt. Bạn có thể cài đặt nó bằng pip:

pip install mlflow

Tiếp theo, bật đăng nhập MLflow Ultralytics Cài đặt. Điều này có thể được kiểm soát bằng cách sử dụng mlflow chìa khoá. Để biết thêm thông tin, hãy xem Hướng dẫn cài đặt.

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

from ultralytics import settings

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

# Reset settings to default values
settings.reset()
# Update a setting
yolo settings runs_dir='/path/to/runs'

# Reset settings to default values
yolo settings reset

Cuối cùng, bắt đầu một máy chủ MLflow cục bộ để theo dõi:

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

Tôi có thể ghi lại những chỉ số và thông số nào bằng MLflow Ultralytics YOLO?

Ultralytics YOLO với MLflow hỗ trợ ghi nhật ký các số liệu, thông số và hiện vật khác nhau trong suốt quá trình đào tạo:

  • Ghi nhật ký số liệu: Theo dõi số liệu vào cuối mỗi kỷ nguyên và sau khi hoàn thành 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 quá trình đào tạo.
  • Ghi nhật ký hiện vật: Lưu các thành phần lạ mô hình như trọng lượng và tệp cấu hình sau khi đào tạo.

Để biết thêm thông tin chi tiết, hãy truy cập Ultralytics YOLO tài liệu theo dõi.

Tôi có thể tắt ghi nhật ký MLflow sau khi được bật không?

Có, bạn có thể tắt ghi nhật ký MLflow cho Ultralytics YOLO bằng cách cập nhật cài đặt. Đây là cách bạn có thể làm điều đó bằng cách sử dụng CLI:

yolo settings mlflow=False

Để tùy chỉnh thêm và đặt lại cài đặt, hãy tham khảo hướng dẫn cài đặt.

Làm cách nào để khởi động và dừng máy chủ MLflow cho Ultralytics YOLO Theo dõi?

Để bắt đầu một máy chủ MLflow để theo dõi các thử nghiệm của bạn trong Ultralytics YOLO, sử dụng lệnh sau:

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

Lệnh này bắt đầu một máy chủ cục bộ ở http://127.0.0.1:5000 theo mặc định. Nếu bạn cần ngừng chạy phiên bản máy chủ MLflow, hãy sử dụng như sau bash lệnh:

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

Tham khảo phần lệnh để biết thêm tùy chọn lệnh.

Lợi ích của việc tích hợp MLflow với là gì Ultralytics YOLO để theo dõi thử nghiệm?

Tích hợp MLflow với Ultralytics YOLO Cung cấp một số lợi ích để quản lý các thử nghiệm máy học của bạn:

  • Theo dõi thử nghiệm nâng cao: Dễ dàng theo dõi và so sánh các lần chạy khác nhau và kết quả của chúng.
  • Cải thiện khả năng tái tạo mô hình: Đảm bảo rằng các thử nghiệm của bạn có thể tái tạo bằng cách ghi lại tất cả các thông số và thành phần lạ.
  • Giám sát hiệu suất: Trực quan hóa các chỉ số hiệu suất theo thời gian để đưa ra quyết định dựa trên dữ liệu để cải tiến mô hình.

Để có cái nhìn sâu sắc về việc thiết lập và tận dụng MLflow với Ultralytics YOLO, khám phá Tích hợp MLflow cho Ultralytics YOLO tư liệu.



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

Ý kiến