MLflow Entegrasyonu için Ultralytics YOLO
Giriş
Experiment logging is a crucial aspect of machine learning workflows that enables tracking of various metrics, parameters, and artifacts. It helps to enhance model reproducibility, debug issues, and improve model performance. Ultralytics YOLO, known for its real-time object detection capabilities, now offers integration with MLflow, an open-source platform for complete machine learning lifecycle management.
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, yaniyolo 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, yaniyolo train project=my_project name=my_name
.Yerel MLflow Sunucusunu Başlatın: İzlemeyi başlatmak için şunu kullanın:
Bu, şu adreste yerel bir sunucu başlatacaktır http://127.0.0.1:5000 ve tüm mlflow günlüklerini 'runs/mlflow' dizinine kaydeder. 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.
SSS
MLflow günlüğünü Ultralytics YOLO ile nasıl ayarlayabilirim?
MLflow günlüğünü Ultralytics YOLO ile ayarlamak için öncelikle MLflow'un kurulu olduğundan emin olmanız gerekir. Pip kullanarak yükleyebilirsiniz:
Ardından, Ultralytics ayarlarında MLflow günlüğünü etkinleştirin. Bu, aşağıdakiler kullanılarak kontrol edilebilir mlflow
anahtar. Daha fazla bilgi için bkz. ayarlar kılavuzu.
Ultralytics MLflow Ayarlarını Güncelleme
Son olarak, izleme için yerel bir MLflow sunucusu başlatın:
Ultralytics YOLO ile MLflow kullanarak hangi metrikleri ve parametreleri günlüğe kaydedebilirim?
Ultralytics YOLO MLflow ile eğitim süreci boyunca çeşitli metriklerin, parametrelerin ve eserlerin kaydedilmesini destekler:
- Metrics Logging: Tracks metrics at the end of each epoch and upon training completion.
- Parametre Günlüğü: Eğitim sürecinde kullanılan tüm parametreleri günlüğe kaydeder.
- Eserler Günlüğü: Eğitimden sonra ağırlıklar ve yapılandırma dosyaları gibi model eserlerini kaydeder.
Daha ayrıntılı bilgi için Ultralytics YOLO izleme belgelerini ziyaret edin.
MLflow günlüğü etkinleştirildikten sonra devre dışı bırakabilir miyim?
Evet, ayarları güncelleyerek Ultralytics YOLO için MLflow günlüğünü devre dışı bırakabilirsiniz. Bunu CLI adresini kullanarak nasıl yapabileceğiniz aşağıda açıklanmıştır:
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şlatabilir ve durdurabilirim?
Deneylerinizi Ultralytics YOLO adresinde izlemek üzere bir MLflow sunucusu başlatmak için aşağıdaki komutu kullanın:
Bu komut varsayılan olarak http://127.0.0.1:5000 adresinde yerel bir sunucu başlatır. Çalışan MLflow sunucu örneklerini durdurmanız gerekiyorsa, aşağıdaki bash komutunu kullanın:
Daha fazla komut seçeneği için komutlar bölümüne bakın.
Deney takibi için MLflow'u Ultralytics YOLO ile entegre etmenin faydaları nelerdir?
MLflow'u Ultralytics YOLO ile entegre etmek, makine öğrenimi deneylerinizi yönetmek için çeşitli avantajlar sunar:
- Geliştirilmiş Deney Takibi: Farklı çalışmaları ve sonuçlarını kolayca takip edin ve karşılaştırın.
- Geliştirilmiş Model Tekrar Üretilebilirliği: Tüm parametreleri ve artefaktları kaydederek deneylerinizin tekrarlanabilir olmasını sağlayın.
- Performans İzleme: Model iyileştirmelerine yönelik veriye dayalı kararlar almak için performans ölçümlerini zaman içinde görselleştirin.
MLflow'un Ultralytics YOLO ile kurulumu ve kullanımı hakkında ayrıntılı bilgi için Ultralytics YOLO için MLflow Entegrasyonu belgelerini inceleyin.