MLflow Entegrasyonu için Ultralytics YOLO
Giriş
Deney kaydı, çeşitli metriklerin, parametrelerin ve eserlerin 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. Ultralytics YOLO Gerçek zamanlı nesne algılama yetenekleriyle bilinen MLflow, 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ük kaydı özelliklerini ayarlamak ve kullanmak için 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 izlemek, kodu tekrarlanabilir çalıştırmalar halinde paketlemek ve modelleri paylaşmak ve dağıtmak için araçlar içerir. MLflow, herhangi bir makine öğrenimi kütüphanesi ve programlama dili ile çalışmak üzere tasarlanmıştır.
Özellikler
- Metrik Günlüğü: Her epoğun sonunda ve eğitimin sonunda metrikleri günlüğe kaydeder.
- Parametre Günlüğü: Eğitimde kullanılan tüm parametreleri günlüğe kaydeder.
- Artefaktların Günlüğe Kaydedilmesi: Eğitimin sonunda ağırlıklar ve yapılandırma dosyaları dahil olmak üzere model yapıtlarını günlüğe kaydeder.
Kurulum ve Ön Koşullar
MLflow'un kurulu olduğundan emin olun. Değilse, pip kullanarak yükleyin:
MLflow günlüğünün Ultralytics ayarlarında etkinleştirildiğinden emin olun. Genellikle, bu ayarlar tarafından kontrol edilir mflow
Anahtar. Bkz. ayarlar Daha fazla bilgi için sayfa.
Ultralytics MLflow Ayarlarını Güncelleme
Python ortamı içinde update
yöntemi üzerinde settings
ayarlarınızı değiştirmek için nesne:
Nasıl Kullanılır
Komutlar
-
Bir Proje Adı Ayarlayın: Proje adını bir ortam değişkeni aracılığıyla ayarlayabilirsiniz:
Veya project=<project>
YOLO modelini eğitirken argüman, yani yolo train project=my_project
.
-
Bir Çalıştırma Adı Ayarlayın: Proje adı ayarlamaya benzer şekilde, çalıştırma adını bir ortam değişkeni aracılığıyla ayarlayabilirsiniz:
Veya name=<name>
YOLO modelini eğitirken argüman, yani yolo train project=my_project name=my_name
.
-
Yerel MLflow Sunucusunu Başlatın: İzlemeyi başlatmak için şunu kullanın:
Bu, varsayılan olarak http://127.0.0.1:5000 adresinde yerel bir sunucu başlatacak ve tüm mlflow günlüklerini 'runs/mlflow' dizinine kaydedecektir. Farklı bir URI belirtmek için MLFLOW_TRACKING_URI
ortam değişkeni.
-
MLflow Sunucu Örneklerini Öldürün: Çalışan tüm MLflow örneklerini durdurmak için çalıştırın:
Günlük kaydı
Günlük kaydı şu şekilde yapılır on_pretrain_routine_end
, on_fit_epoch_end
ve 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 eserlerin günlüğe kaydedilmesini sağlar.
Örnekler
-
Özel Metriklerin Günlüğe Kaydedilmesi: Günlüğe kaydedilmek üzere özel ölçümler ekleyebilirsiniz.
trainer.metrics
önce sözlükon_fit_epoch_end
denir. -
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 seçip çalıştırın.
-
Koşuyu Görüntüle: Çalıştırmalar, bir deney içindeki bireysel modellerdir. Bir Çalıştırmaya tıklayın ve yüklenen eserler ve model ağırlıkları dahil olmak üzere Çalıştırma ayrıntılarını görün.
MLflow'u Devre Dışı Bırakma
MLflow günlük kaydını kapatmak için:
Sonuç
Ultralytics YOLO ile MLflow günlük kaydı entegrasyonu, makine öğrenimi deneylerinizi takip etmek için kolaylaştırılmış bir yol sunar. Performans metriklerini izlemenizi ve artifaktları etkili bir şekilde yönetmenizi sağlar, böylece 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.