MLflow entegrasyonunu kullanarak Ultralytics YOLO deneyimlerini kaydet
MLflow entegrasyonu ve günlüğe kaydetme işlemlerinin, bilgisayarlı görü uygulamaları için üstün izleme sağlayarak Ultralytics YOLO deneyimlerini nasıl yükseltebileceğini keşfet.

Bir bilgisayarlı görü projesini bir yapboz gibi düşünebilirsin. Özünde, bir veri seti toplamak, bir model eğitmek ve onu dağıtmak gibi yapboz parçalarını birleştirerek makinelere görsel verileri anlamayı öğretirsin. Her şey yerine oturduğunda, görüntüleri ve videoları etkili bir şekilde analiz edebilen ve anlamlandırabilen bir sisteme sahip olursun.
Ancak tıpkı gerçek bir yapboz gibi, bilgisayarlı görü projesinin her kısmı basit değildir. Deney takibi (ayarlarınızın, yapılandırmalarınızın ve verilerinizin kaydını tutma) ve günlüğe kaydetme (sonuçları ve performans metriklerini yakalama) gibi görevler çok zaman ve çaba gerektirebilir. Bu adımlar, bilgisayarlı görü modellerini iyileştirmek ve geliştirmek için kritik olsa da, bazen bir darboğaz gibi hissettirebilirler.
İşte tam bu noktada Ultralytics YOLO modelleri ve bunların MLflow ile entegrasyonu devreye giriyor. Ultralytics YOLO11 gibi modeller, nesne algılama, örnek bölümleme (instance segmentation) ve görüntü sınıflandırma dahil olmak üzere çok çeşitli bilgisayarlı görü görevlerini destekler. Bu yetenekler heyecan verici bilgisayarlı görü uygulamalarının oluşturulmasını sağlar. MLflow entegrasyonu gibi entegrasyonlara güvenme seçeneğine sahip olmak, görü mühendislerinin ayrıntılara takılıp kalmak yerine doğrudan modelin kendisine odaklanmalarına olanak tanır.
Özellikle MLflow entegrasyonu, eğitim süreci boyunca çeşitli metrikleri, parametreleri ve yapıları günlüğe kaydederek süreci basitleştirir. Bu makalede, MLflow entegrasyonunun nasıl çalıştığını, avantajlarını ve onu Ultralytics YOLO iş akışlarını kolaylaştırmak için nasıl kullanabileceğini keşfedeceğiz.
Link to this sectionMLflow nedir?#
MLflow, tüm makine öğrenimi yaşam döngüsünü kolaylaştırmak ve yönetmek için tasarlanmış (Databricks tarafından geliştirilen) açık kaynaklı bir platformdur. Makine öğrenimi modellerini geliştirme, dağıtma ve sürdürme sürecini kapsar.
MLflow aşağıdaki temel bileşenleri içerir:
- Deney takibi: Bu bileşen, her model eğitimi çalıştırması için model ayarları, sonuçlar ve dosyalar gibi önemli ayrıntıları kaydetmeye odaklanır. Modelleri karşılaştırmanıza, değişikliklerin performansı nasıl etkilediğini görmenize ve en iyisini bulmanıza yardımcı olur.
- Model kayıt defteri: Modelleriniz için test, hazırlık (staging) ve üretim gibi aşamalara göre düzenleyebileceğiniz ve farklı sürümlerini takip edebileceğiniz bir depolama sistemidir.
- Proje paketleme: MLflow, makine öğrenimi projelerinizi; kod, ayarlar ve gerekli araçlar dahil olmak üzere paketlemeyi kolaylaştırır, böylece bunlar ekipler ve ortamlar arasında tutarlı bir şekilde paylaşılabilir ve kullanılabilir.
- Model dağıtımı: MLflow, eğitilmiş modellerinizi iş istasyonları veya AWS ve Azure gibi bulut platformları gibi yerlere hızla dağıtmanız için araçlar sağlar, böylece onları gerçek dünya kullanımına hazır hale getirir.

Şekil 1. MLflow bileşenleri.
MLflow'un bileşenleri, makine öğrenimi sürecini yönetmeyi daha kolay ve verimli hale getirir. Bu entegrasyon sayesinde Ultralytics, YOLO modellerini eğitirken parametreleri, metrikleri ve yapıları günlüğe kaydetmek için MLflow'un deney takibi özelliğini kullanmayı mümkün kılar. Farklı YOLO modeli sürümlerini takip etmeyi ve karşılaştırmayı kolaylaştırır.
Link to this sectionMLflow entegrasyonu eğitimi kolaylaştırır#
Artık MLflow'un ne olduğunu anladığımıza göre, MLflow entegrasyonunun ayrıntılarına ve sunduğu özelliklere geçelim.
MLflow entegrasyonu, bilgisayarlı görü deneylerinizin önemli yönlerini otomatik olarak takip edip günlüğe kaydederek eğitim sürecini daha verimli ve düzenli hale getirmek için tasarlanmıştır. Üç ana günlüğe kaydetme türünü kolaylaştırır: metrikler, parametreler ve yapılar (artifacts).
İşte her bir günlüğe kaydetme türüne daha yakından bir bakış:
- Metrik günlüğe kaydetme: Metrikler, modelinizin eğitim sırasındaki performansını ölçen nicel değerlerdir. Örneğin, doğruluk, kesinlik (precision), duyarlılık (recall) veya kayıp (loss) gibi metrikler her epokun (veri setiniz üzerinden tam bir geçiş) sonunda takip edilir.
- Parametre günlüğe kaydetme: Parametreler, öğrenme oranı, yığın boyutu (her eğitim adımında işlenen örnek sayısı) ve epok sayısı gibi model eğitimi başlamadan önce tanımladığınız ayarlardır. Bu parametreler, modelinizin davranışını ve performansını önemli ölçüde etkiler.
- Yapı (Artifact) günlüğe kaydetme: Yapılar, eğitim sırasında oluşturulan çıktılar veya dosyalardır. Buna model ağırlıkları (modelinizin eğitim sırasında öğrendiği sayısal değerler), yapılandırma dosyaları (eğitim ayarlarını saklayan) ve diğer ilgili veriler gibi temel dosyalar dahildir.

Şekil 2. MLflow entegrasyonunun temel günlüğe kaydetme özellikleri. Görsel: Yazar.
Link to this sectionMLflow entegrasyonu nasıl çalışır?#
MLflow entegrasyonunu etkinleştirmek için adım adım talimatları Ultralytics belgelerinde bulabilirsin. Kurulum tamamlandığında entegrasyon, yukarıda tartışıldığı gibi eğitim deneylerinizin önemli ayrıntılarını otomatik olarak takip eder ve günlüğe kaydeder. Bu, manuel takip ihtiyacını ortadan kaldırır ve modellerinizi iyileştirmeye odaklanmanıza yardımcı olur.
MLflow entegrasyonu ile tüm eğitim süreçlerin (runs) tek bir yerde depolanır, bu da sonuçları karşılaştırmayı ve farklı yapılandırmaları değerlendirmeyi kolaylaştırır. Günlüğe kaydedilen sonuçları karşılaştırarak, en iyi performans gösteren yapılandırmaları belirleyebilir ve bu içgörüleri modellerinizi geliştirmek için kullanabilirsin. Bu, iş akışının daha verimli, iyi belgelenmiş ve tekrarlanabilir olmasını sağlar.
Özellikle, her eğitim oturumu, birden fazla çalıştırma (runs) için bir kapsayıcı görevi gören bir deneyde (experiment) düzenlenir. Bir deney içinde, ilişkili tüm çalıştırmaları görüntüleyebilir, performanslarını yan yana karşılaştırabilir ve farklı yapılandırmalar arasındaki trendleri analiz edebilirsin.
Örneğin, Ultralytics YOLOv8 ile çeşitli öğrenme oranlarını veya yığın boyutlarını test ediyorsan, ilgili tüm çalıştırmalar aşağıda gösterildiği gibi kolay karşılaştırma ve analiz için aynı deney altında gruplandırılır.

Şekil 3. MLflow entegrasyonunu kullanarak deneyleri görüntüleyebilirsin.
Bu arada, bireysel çalıştırma düzeyinde MLflow, belirli eğitim oturumu hakkında ayrıntılı bilgiler sağlar. Epoklar boyunca doğruluk, kayıp ve kesinlik gibi metrikleri görüntüleyebilir, kullanılan eğitim parametrelerini (örneğin, yığın boyutu ve öğrenme oranı) kontrol edebilir ve model ağırlıkları ve yapılandırma dosyaları gibi oluşturulan yapılara erişebilirsin. Bu ayrıntılar düzenli bir formatta saklanır, bu da herhangi bir çalıştırmayı tekrar gözden geçirmeyi veya tekrarlamayı kolaylaştırır.
Link to this sectionMLflow entegrasyonunu seçmek: neden öne çıkıyor?#
Ultralytics belgelerini incelerken ve mevcut entegrasyonları keşfederken kendine şu soruyu sorabilirsin: MLflow entegrasyonunu farklı kılan nedir ve iş akışım için neden onu seçmeliyim?
Metrikleri takip etmek ve sonuçları görselleştirmek için araçlar sağlayan TensorBoard gibi entegrasyonlarla birlikte, MLflow entegrasyonunu öne çıkaran benzersiz nitelikleri anlamak önemlidir.
İşte MLflow'un YOLO projelerin için neden ideal bir seçim olabileceği:
- Kullanıcı dostu arayüz: MLflow paneli; deneyleri görüntülemeyi, çalıştırmaları karşılaştırmayı ve sonuçları analiz etmeyi kolaylaştırır, böylece en iyi performans gösteren yapılandırmaları hızla belirlemene yardımcı olur.
- Özel metrik günlüğe kaydetme: Görü mühendisleri, standart metriklerin yanı sıra özel metrikleri de günlüğe kaydedebilir, bu da proje ihtiyaçlarına özel daha derinlemesine analiz yapılmasına olanak tanır.
- Çok dilli iş akışları desteği: MLflow, Python, R ve Java dahil olmak üzere birden fazla programlama diliyle uyumludur ve çeşitli makine öğrenimi boru hatlarına (pipelines) entegrasyonu kolaylaştırır.
Link to this sectionYOLO11 ve MLflow entegrasyonunun pratik uygulamaları#
MLflow entegrasyonunu ne zaman kullanabileceğine dair daha kapsamlı bir anlayış elde etmek için, YOLO11'i röntgen veya BT tarama görüntülerindeki tümörleri tespit etmek üzere eğitmeniz gereken sağlık hizmetlerindeki bir yapay zeka uygulamasına bakalım.
Böyle bir senaryoda veri seti, açıklamalı tıbbi görüntülerden oluşacaktır. Optimum doğruluğa ulaşmak için öğrenme oranlarını ayarlama, yığın boyutları ve görüntü ön işleme teknikleri gibi çeşitli yapılandırmalarla denemeler yapman gerekir. Sağlık hizmetlerinde riskler yüksek olduğundan, kesinlik ve güvenilirlik kritik öneme sahiptir, bu nedenle her deneyi manuel olarak takip etmek hızla yönetilemez hale gelebilir.

Şekil 4. Ultralytics YOLO11 kullanarak tümör tespiti.
MLflow entegrasyonu, her deneyin parametrelerini, metriklerini ve yapılarını otomatik olarak günlüğe kaydederek bu sorunu çözer. Örneğin, öğrenme oranını değiştirirsen veya yeni bir artırma (augmentation) stratejisi uygularsan, MLflow bu değişiklikleri performans metrikleri ile birlikte kaydeder. Ayrıca MLflow, eğitilmiş model ağırlıklarını ve yapılandırmalarını kaydederek başarılı modellerin kolayca tekrarlanabilmesini ve dağıtılabilmesini sağlar.
Bu, MLflow entegrasyonunun görü yapay zekası uygulamalarında deney yönetimini nasıl geliştirdiğine dair sadece bir örnektir. Aynı özellikler, aşağıdakiler dahil olmak üzere diğer bilgisayarlı görü uygulamaları için de geçerlidir:
- Otonom sürüş: YOLO11, kendi kendine giden sistemlerin güvenliğini ve verimliliğini artırmak için yayaları, araçları ve trafik işaretlerini gerçek zamanlı olarak tespit etmek ve sınıflandırmak için kullanılabilir.
- Perakende analitiği: Nesne algılama modelleri, video akışları aracılığıyla mağaza içi etkinlikleri analiz ederek müşteri davranışlarını izleyebilir, ürün yerleşimlerini takip edebilir ve envanteri optimize edebilir.
- Güvenlik ve gözetim: Modeller, artırılmış güvenlik için hassas alanlardaki anormallikleri tespit etmek veya gerçek zamanlı etkinlikleri izlemek üzere eğitilebilir.
Link to this sectionMLflow entegrasyonunun faydaları#
YOLO modelleri ile MLflow entegrasyonu, makine öğrenimi deneylerini yönetmeyi daha kolay ve verimli hale getirir. Temel görevleri otomatikleştirerek ve her şeyi düzenli tutarak, modellerini oluşturmaya ve iyileştirmeye odaklanmanı sağlar. İşte temel faydalarına bir bakış:
- Büyük projeler için ölçeklenir: Platform, birden fazla deneyi ve modeli verimli bir şekilde yöneterek onu daha büyük ekipler ve karmaşık iş akışları için uygun hale getirir.
- Ayrıntılı deney geçmişi: Platform, deneylerin tam bir geçmişini tutarak geçmiş çalıştırmaları tekrar gözden geçirmenize, önceki yapılandırmaları analiz etmenize ve önceki sonuçlardan ders çıkarmanıza olanak tanır.
- Devre dışı bırakma ve sıfırlama seçenekleri: MLflow günlüğe kaydetme işlemi gerekli olmadığında kolayca devre dışı bırakılabilir ve ayarlar varsayılan değerlere sıfırlanabilir; bu da farklı iş akışı gereksinimlerine uyum sağlama esnekliği sunar.
Link to this sectionÖne çıkanlar#
MLflow entegrasyonu, Ultralytics YOLO deneylerini yönetmeyi ve optimize etmeyi daha kolay ve verimli hale getirir. Parametreler, metrikler ve yapılar gibi temel ayrıntıları otomatik olarak takip ederek süreci basitleştirir ve manuel deney yönetimi zahmetini ortadan kaldırır.
Tümör tespiti gibi sağlık çözümleri üzerinde çalışıyor olsan da, otonom sürüş sistemlerini iyileştiriyor olsan veya perakende analitiğini geliştiriyor olsan da, bu entegrasyon her şeyi düzenli ve tekrarlanabilir tutmaya yardımcı olur. Sezgisel arayüzü ve esnekliği ile MLflow, geliştiricilerin daha iyi modeller oluşturmaya ve görü yapay zekası uygulamalarında inovasyonu yönlendirmeye odaklanmalarını sağlar.
Topluluğumuza katıl ve yapay zeka hakkında bilgi edinmek için GitHub depomuza göz at. Ayrıca çözüm sayfalarımızda üretimde bilgisayarlı görü veya kendi kendine giden arabalarda yapay zeka hakkında daha fazla uygulamayı keşfedebilirsin.






