İçeriğe geç

Ultralytics YOLO için MLflow Entegrasyonu

MLflow ekosistemi

Giriş

Deney günlüğe kaydı, çeşitli metriklerin, parametrelerin ve artefaktların izlenmesini sağlayan makine öğrenimi iş akışlarının önemli bir yönüdür. Modelin yeniden üretilebilirliğini artırmaya, sorunları ayıklamaya ve model performansını iyileştirmeye yardımcı olur. Gerçek zamanlı nesne algılama yetenekleriyle bilinen Ultralytics YOLO, artık eksiksiz makine öğrenimi yaşam döngüsü yönetimi için açık kaynaklı bir platform olan MLflow ile entegrasyon sunuyor.

Bu dokümantasyon sayfası, Ultralytics YOLO projeniz için MLflow günlüğe kaydetme özelliklerini kurma ve kullanma konusunda kapsamlı bir kılavuzdur.

MLflow nedir?

MLflow, uçtan uca makine öğrenimi yaşam döngüsünü yönetmek için Databricks tarafından geliştirilen açık kaynaklı bir platformdur. Deneyleri izleme, kodu yeniden üretilebilir çalıştırmalar halinde paketleme ve modelleri paylaşma ve dağıtma araçlarını içerir. MLflow, herhangi bir makine öğrenimi kütüphanesi ve programlama diliyle çalışacak şekilde tasarlanmıştır.

Özellikler

  • Metrik Günlüğe Kaydı: Her epoch'un sonunda ve eğitimin sonunda metrikleri günlüğe kaydeder.
  • Parametre Günlüğe Kaydı: Eğitimde kullanılan tüm parametreleri günlüğe kaydeder.
  • Artefakt Günlüğe Kaydı: Eğitimin sonunda ağırlıklar ve yapılandırma dosyaları dahil olmak üzere model artefaktlarını günlüğe kaydeder.

Kurulum ve Ön Koşullar

MLflow'un kurulu olduğundan emin olun. Değilse, pip kullanarak kurun:

pip install mlflow

Ultralytics ayarlarında MLflow günlüğünün etkinleştirildiğinden emin olun. Genellikle bu, ayarlar tarafından kontrol edilir mlflow anahtarı. Bakınız ayarlar daha fazla bilgi için sayfasına bakın.

Ultralytics MLflow Ayarlarını Güncelleme

Python ortamında, update yöntemini çağırın settings ayarlarınızı değiştirmek için:

from ultralytics import settings

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

# Reset settings to default values
settings.reset()

Komut satırı arayüzünü kullanmayı tercih ediyorsanız, aşağıdaki komutlar ayarlarınızı değiştirmenize olanak tanır:

# Update a setting
yolo settings mlflow=True

# Reset settings to default values
yolo settings reset

Nasıl Kullanılır

Komutlar

  1. Proje Adı Ayarlama: Proje adını bir ortam değişkeni aracılığıyla ayarlayabilirsiniz:

    export MLFLOW_EXPERIMENT_NAME=YOUR_EXPERIMENT_NAME
    

    Veya şunu kullanın: project=<project> bir YOLO modelini eğitirken argüman, örneğin: yolo train project=my_project.

  2. Çalıştırma Adı Ayarlama: Bir proje adı ayarlamaya benzer şekilde, çalıştırma adını bir ortam değişkeni aracılığıyla ayarlayabilirsiniz:

    export MLFLOW_RUN=YOUR_RUN_NAME
    

    Veya şunu kullanın: name=<name> bir YOLO modelini eğitirken argüman, örneğin: yolo train project=my_project name=my_name.

  3. Yerel MLflow Sunucusunu Başlatma: İzlemeyi başlatmak için şunu kullanın:

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

    Bu, yerel bir sunucuyu şu adreste başlatır: http://127.0.0.1:5000 varsayılan olarak ve tüm mlflow günlüklerini 'runs/mlflow' dizinine kaydeder. Farklı bir URI belirtmek için şunu ayarlayın: MLFLOW_TRACKING_URI ortam değişkeni.

  4. MLflow Sunucu Örneklerini Sonlandırma: Çalışan tüm MLflow örneklerini durdurmak için şunu çalıştırın:

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

Günlüğe Kaydetme

Günlüğe kaydetme işlemi, on_pretrain_routine_end, on_fit_epoch_endve on_train_end geri arama fonksiyonları. Bu fonksiyonlar, eğitim sürecinin ilgili aşamalarında otomatik olarak çağrılır ve parametrelerin, metriklerin ve yapıtların günlüğünü tutmayı yönetir.

Örnekler

  1. Özel Metrikleri Günlüğe Kaydetme: Günlüğe kaydedilecek özel metrikler eklemek için, trainer.metrics çağrılmadan önce on_fit_epoch_end sözlüğünü değiştirebilirsiniz.

  2. Deneyi Görüntüle: Günlüklerinizi görüntülemek için MLflow sunucunuza gidin (genellikle http://127.0.0.1:5000) ve deneyinizi ve çalıştırmanızı seçin. YOLO MLflow Deneyi

  3. Çalıştırmayı Görüntüle: Çalıştırmalar, bir deney içindeki bireysel modellerdir. Bir Çalıştırmaya tıklayın ve yüklenen yapıtlar ve model ağırlıkları dahil olmak üzere Çalıştırma ayrıntılarını görün. YOLO MLflow Çalıştırması

MLflow'u Devre Dışı Bırakma

MLflow günlüğünü kapatmak için:

yolo settings mlflow=False

Sonuç

Ultralytics YOLO ile MLflow kayıt entegrasyonu, makine öğrenimi deneylerinizi takip etmenin kolay bir yolunu sunar. Performans metriklerini izlemenizi ve artefaktları etkili bir şekilde yönetmenizi sağlayarak sağlam model geliştirme ve dağıtımına yardımcı olur. Daha fazla ayrıntı için lütfen MLflow resmi belgelerini ziyaret edin.

SSS

Ultralytics YOLO ile MLflow günlüğünü nasıl kurarım?

Ultralytics YOLO ile MLflow kaydını ayarlamak için öncelikle MLflow'un kurulu olduğundan emin olmanız gerekir. Pip kullanarak kurabilirsiniz:

pip install mlflow

Ardından, Ultralytics ayarlarında MLflow kaydını etkinleştirin. Bu, şunlar kullanılarak kontrol edilebilir: mlflow anahtarı. Daha fazla bilgi için bkz. ayarlar kılavuzu.

Ultralytics MLflow Ayarlarını Güncelleme

from ultralytics import settings

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

# Reset settings to default values
settings.reset()
# Update a setting
yolo settings mlflow=True

# Reset settings to default values
yolo settings reset

Son olarak, izleme için yerel bir MLflow sunucusu başlatın:

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

Ultralytics YOLO ile MLflow kullanarak hangi metrikleri ve parametreleri günlüğe kaydedebilirim?

MLflow ile Ultralytics YOLO, eğitim süreci boyunca çeşitli metriklerin, parametrelerin ve yapıların günlüğe kaydedilmesini destekler:

  • Metrik Kaydı: Her epok sonunda ve eğitim tamamlandığında metrikleri izler.
  • Parametre Kaydı: Eğitim sürecinde kullanılan tüm parametreleri kaydeder.
  • Yapıt Kaydı: Eğitimden sonra ağırlıklar ve yapılandırma dosyaları gibi model yapıtlarını kaydeder.

Daha ayrıntılı bilgi için Ultralytics YOLO izleme belgelerini ziyaret edin.

Etkinleştirildikten sonra MLflow günlüğünü devre dışı bırakabilir miyim?

Evet, ayarları güncelleyerek Ultralytics YOLO için MLflow kaydını devre dışı bırakabilirsiniz. İşte bunu CLI kullanarak nasıl yapabileceğiniz:

yolo settings mlflow=False

Daha fazla özelleştirme ve ayarları sıfırlama için ayarlar kılavuzuna bakın.

Ultralytics YOLO takibi için bir MLflow sunucusunu nasıl başlatıp durdurabilirim?

Ultralytics YOLO'daki deneylerinizi izlemek için bir MLflow sunucusu başlatmak için aşağıdaki komutu kullanın:

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

Bu komut, şu adreste yerel bir sunucu başlatır: http://127.0.0.1:5000 varsayılan olarak. MLflow sunucu örneklerini çalıştırmayı durdurmanız gerekirse, aşağıdaki bash komutunu kullanın:

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

Daha fazla komut seçeneği için komutlar bölümüne bakın.

Deney takibi için MLflow'un Ultralytics YOLO ile entegre edilmesinin faydaları nelerdir?

MLflow'u Ultralytics YOLO ile entegre etmek, makine öğrenimi deneylerinizi yönetmek için çeşitli avantajlar sunar:

  • Gelişmiş Deney İzleme: Farklı çalıştırmaları ve sonuçlarını kolayca izleyin ve karşılaştırın.
  • Geliştirilmiş Model Tekrarlanabilirliği: Tüm parametreleri ve yapıları günlüğe kaydederek deneylerinizin tekrarlanabilir olduğundan emin olun.
  • Performans İzleme: Model iyileştirmeleri için veriye dayalı kararlar almak üzere zaman içindeki performans metriklerini görselleştirin.
  • Kolaylaştırılmış İş Akışı: Manuel takipten ziyade model geliştirmeye daha fazla odaklanmak için günlük kaydı sürecini otomatikleştirin.
  • İşbirlikçi Geliştirme: Daha iyi işbirliği ve bilgi paylaşımı için deney sonuçlarını ekip üyeleriyle paylaşın.

Ultralytics YOLO ile MLflow'u kurma ve kullanma hakkında derinlemesine bir bakış için Ultralytics YOLO için MLflow Entegrasyonu belgelerini inceleyin.



📅 1 yıl önce oluşturuldu ✏️ 3 ay önce güncellendi

Yorumlar