Link to this sectionUltralytics YOLO için MLflow Entegrasyonu#
Link to this sectionGiriş#
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 projen için MLflow günlük kaydı özelliklerini kurma ve kullanma konusunda kapsamlı bir kılavuzdur.
Link to this sectionMLflow nedir?#
MLflow, Databricks tarafından geliştirilen ve uçtan uca makine öğrenimi yaşam döngüsünü yönetmeye yarayan açık kaynaklı bir platformdur. Deneyleri takip etmek, kodu tekrarlanabilir çalıştırmalar halinde paketlemek, 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ışacak şekilde tasarlanmıştır.
Link to this sectionÖzellikler#
- Metrik Kaydı: Her epok sonunda ve eğitim sonunda metrikleri kaydeder.
- Parametre Kaydı: Eğitimde kullanılan tüm parametreleri kaydeder.
- Yapıt (Artifact) Kaydı: Eğitim sonunda ağırlıklar ve yapılandırma dosyaları dahil olmak üzere model yapıtlarını kaydeder.
Link to this sectionKurulum ve Önkoşullar#
MLflow'un yüklü olduğundan emin ol. Değilse, pip kullanarak yükle:
pip install mlflowUltralytics ayarlarında MLflow günlük kaydının etkinleştirildiğinden emin ol. Bu genellikle mlflow ayar anahtarı ile kontrol edilir. Daha fazla bilgi için ayarlar sayfasına bak.
Within the Python environment, call the update method on the settings object to change your settings:
from ultralytics import settings
# Update a setting
settings.update({"mlflow": True})
# Reset settings to default values
settings.reset()Link to this sectionNasıl Kullanılır#
Link to this sectionKomutlar#
-
Proje Adı Belirle: Proje adını bir ortam değişkeni aracılığıyla ayarlayabilirsin:
export MLFLOW_EXPERIMENT_NAME=YOUR_EXPERIMENT_NAMEVeya bir YOLO modeli eğitirken
project=<project>bağımsız değişkenini kullan, örneğin:yolo train project=my_project. -
Çalıştırma (Run) Adı Belirle: Proje adı belirlemeye benzer şekilde, çalıştırma adını bir ortam değişkeni aracılığıyla ayarlayabilirsin:
export MLFLOW_RUN=YOUR_RUN_NAMEVeya bir YOLO modeli eğitirken
name=<name>bağımsız değişkenini kullan, örneğin:yolo train project=my_project name=my_name. -
Yerel MLflow Sunucusunu Başlat: Takibi başlatmak için şunu kullan:
mlflow server --backend-store-uri runs/mlflowBu, varsayılan olarak
http://127.0.0.1:5000adresinde yerel bir sunucu başlatacak ve tüm mlflow günlüklerini 'runs/mlflow' dizinine kaydedecektir. Eğitim çalıştırmalarını farklı bir takip sunucusuna yönlendirmek için, eğitimden önceMLFLOW_TRACKING_URIdeğerini dışa aktar:export MLFLOW_TRACKING_URI=http://127.0.0.1:5000 -
MLflow Sunucu Örneklerini Sonlandır: Çalışan tüm MLflow örneklerini durdurmak için şunu çalıştır:
ps aux | grep 'mlflow' | grep -v 'grep' | awk '{print $2}' | xargs kill -9
Link to this sectionGünlükleme (Logging)#
Günlük kaydı, on_pretrain_routine_end, on_fit_epoch_end ve on_train_end geri çağırma işlevleri (callback functions) tarafından gerçekleştirilir. Bu işlevler eğitim sürecinin ilgili aşamalarında otomatik olarak çağrılır ve parametrelerin, metriklerin ve yapıtların kaydedilmesini yönetirler.
Link to this sectionÖrnekler#
-
Logging Custom Metrics: You can add custom metrics to be logged by modifying the
trainer.metricsdictionary beforeon_fit_epoch_endis called. -
Deney Görüntüleme: Günlüklerini görüntülemek için MLflow sunucuna (genellikle
http://127.0.0.1:5000) git ve deneyini ve çalıştırmanı seç.
-
Çalıştırmayı Görüntüleme: Çalıştırmalar, bir deney içindeki bireysel modellerdir. Bir Çalıştırmaya tıkla ve yüklenen yapıtlar ile model ağırlıkları dahil olmak üzere Çalıştırma ayrıntılarını gör.

Link to this sectionMLflow'u Devre Dışı Bırakma#
MLflow günlük kaydını kapatmak için:
yolo settings mlflow=FalseLink to this sectionSonuç#
Ultralytics YOLO ile MLflow günlük kaydı entegrasyonu, makine öğrenimi deneylerini takip etmenin düzenli bir yolunu sunar. Performans metriklerini izlemeni ve yapıtları etkili bir şekilde yönetmeni 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 dokümantasyonunu ziyaret et.
Link to this sectionSSS#
Link to this sectionUltralytics YOLO ile MLflow günlük kaydını nasıl kurarım?#
Ultralytics YOLO ile MLflow günlük kaydını kurmak için öncelikle MLflow'un yüklü olduğundan emin olman gerekir. Pip kullanarak şu şekilde yükleyebilirsin:
pip install mlflowArdından, Ultralytics ayarlarında MLflow günlük kaydını etkinleştir. Bu, mlflow anahtarı kullanılarak kontrol edilebilir. Daha fazla bilgi için ayarlar kılavuzuna bak.
from ultralytics import settings
# Update a setting
settings.update({"mlflow": True})
# Reset settings to default values
settings.reset()Son olarak, takip için yerel bir MLflow sunucusu başlat:
mlflow server --backend-store-uri runs/mlflowLink to this sectionUltralytics YOLO ile MLflow kullanarak hangi metrikleri ve parametreleri kaydedebilirim?#
Ultralytics YOLO ve MLflow, eğitim süreci boyunca çeşitli metriklerin, parametrelerin ve yapıtların kaydedilmesini destekler:
- Metrik Kaydı: Her epok sonunda ve eğitim tamamlandığında metrikleri takip eder.
- Parametre Kaydı: Eğitim sürecinde kullanılan tüm parametreleri kaydeder.
- Yapıt (Artifact) 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 takip dokümantasyonunu ziyaret et.
Link to this sectionMLflow günlük kaydını etkinleştirdikten sonra devre dışı bırakabilir miyim?#
Evet, ayarları güncelleyerek Ultralytics YOLO için MLflow günlük kaydını devre dışı bırakabilirsin. İşte CLI kullanarak bunu nasıl yapabileceğin:
yolo settings mlflow=FalseDaha fazla özelleştirme ve ayarları sıfırlama için ayarlar kılavuzuna başvur.
Link to this sectionUltralytics YOLO takibi için MLflow sunucusunu nasıl başlatıp durdurabilirim?#
Ultralytics YOLO'daki deneylerini takip etmek için bir MLflow sunucusu başlatmak istersen, şu komutu kullan:
mlflow server --backend-store-uri runs/mlflowBu komut, varsayılan olarak http://127.0.0.1:5000 adresinde yerel bir sunucu başlatır. Çalışan MLflow sunucusu örneklerini durdurman gerekirse, şu bash komutunu kullan:
ps aux | grep 'mlflow' | grep -v 'grep' | awk '{print $2}' | xargs kill -9Daha fazla komut seçeneği için komutlar bölümüne bak.
Link to this sectionMLflow'u Ultralytics YOLO ile deney takibi için entegre etmenin faydaları nelerdir?#
MLflow'u Ultralytics YOLO ile entegre etmek, makine öğrenimi deneylerini yönetmen için birçok fayda sağlar:
- Gelişmiş Deney Takibi: Farklı çalıştırmaları ve sonuçlarını kolayca takip et ve karşılaştır.
- İyileştirilmiş Model Tekrarlanabilirliği: Tüm parametreleri ve yapıtları kaydederek deneylerinin tekrarlanabilir olduğundan emin ol.
- Performans İzleme: Model iyileştirmeleri için veriye dayalı kararlar almak amacıyla performans metriklerini zaman içinde görselleştir.
- Düzenli İş Akışı: Manuel takip yerine model geliştirmeye daha fazla odaklanmak için günlük kaydı sürecini otomatikleştir.
- İşbirlikçi Geliştirme: Daha iyi işbirliği ve bilgi paylaşımı için deney sonuçlarını ekip üyeleriyle paylaş.
Ultralytics YOLO ile MLflow'u kurma ve kullanma hakkında derinlemesine bir bakış için Ultralytics YOLO için MLflow Entegrasyonu dokümantasyonunu keşfet.