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 computer vision project çalışmasını bir bulmaca gibi düşünebilirsin. Özünde, bir veri seti toplamak, bir model eğitmek ve bunu dağıtmak gibi bulmaca parçalarını bir araya getirerek makinelerin görsel verileri anlamasını sağlarsın. Her şey yerine oturduğunda, görüntüleri ve videoları etkili bir şekilde analiz edebilen ve anlamlandırabilen bir sistem elde edersin.
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 Ultralytics YOLO modelleri ve MLflow entegrasyonu tam bu noktada devreye girer. Ultralytics YOLO11 gibi modeller; nesne tespiti, örnek bölütleme 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ılmak yerine doğrudan modelin kendisine odaklanması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.
MLflow 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.

Fig 1. MLflow bileşenleri.
MLflow'un bileşenleri, makine öğrenimi sürecini yönetmeyi daha kolay ve verimli hale getirir. Bu entegrasyon sayesinde Ultralytics, training YOLO models sırasında parametreleri, metrikleri ve yapıları kaydetmek için MLflow'un deneyim izleme özelliğini kullanmayı mümkün kılar. Farklı YOLO model sürümlerini izlemeyi ve karşılaştırmayı basit hale getirir.
MLflow 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üğü: Metrikler, eğitim sırasında modelinin performansını ölçen nicel değerlerdir. Örneğin, accuracy, hassasiyet, duyarlılık veya kayıp gibi metrikler her dönemin (veri setiniz üzerinden tam bir geçiş) sonunda izlenir.
- 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.
MLflow entegrasyonu nasıl çalışır?#
MLflow integration özelliğini etkinleştirmeye yönelik adım adım talimatlar için Ultralytics belgelerini inceleyebilirsin. Kurulum tamamlandıktan sonra entegrasyon, yukarıda tartışıldığı gibi eğitim deneyimlerinizin önemli ayrıntılarını otomatik olarak izler ve kaydeder. Bu, manuel izleme ihtiyacını ortadan kaldırır ve modellerinizi geliş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.

Fig 3. MLflow entegrasyonunu kullanarak deneyimleri 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.
MLflow entegrasyonunu seçmek: neden öne çıkıyor?#
Ultralytics documentation sayfasını inceledikten ve mevcut integrations seçeneklerini keşfettikten sonra kendi kendine şunu sorabilirsin: MLflow entegrasyonunu farklı kılan nedir ve iş akışım için neden bunu seçmeliyim?
Metrikleri izlemek ve sonuçları görselleştirmek için araçlar sağlayan TensorBoard gibi entegrasyonlar göz önüne alındığında, MLflow entegrasyonunu öne çıkaran benzersiz nitelikleri anlamak önemlidir.
İşte MLflow'un YOLO projects için ideal seçim olmasının nedenleri:
- 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.
Ultralytics YOLO11 ve MLflow entegrasyonunun pratik uygulamaları#
MLflow entegrasyonunu ne zaman kullanabileceğini daha kapsamlı bir şekilde anlamak için, röntgen veya BT tarama görüntülerinde tümörleri tespit etmek amacıyla Ultralytics YOLO11 modelini eğitmen gereken bir sağlık alanındaki yapay zeka uygulamasını ele alalım.
Böyle bir senaryoda dataset açıklamalı tıbbi görüntülerden oluşur. Optimum doğruluğa ulaşmak için öğrenme oranlarını, toplu iş boyutlarını ve görüntü ön işleme tekniklerini ayarlamak gibi çeşitli yapılandırmalarla denemeler yapman gerekir. Sağlık sektöründe riskler yüksek olduğundan ve hassasiyet ile güvenilirlik kritik önem taşıdığından, her denemeyi manuel olarak izlemek kısa sürede yönetilemez bir hal alabilir.

Fig 4. Ultralytics YOLO11 kullanarak tümörleri tespit etme.
MLflow entegrasyonu, her deneyin parametrelerini, metriklerini ve yapılarını otomatik olarak kaydederek bu zorluğun üstesinden gelir. Örneğin, öğrenme oranını değiştirirsen veya yeni bir artırma stratejisi uygularsan, MLflow bu değişiklikleri performance metrics ile birlikte kaydeder. Ayrıca MLflow, başarılı modellerin kolayca yeniden üretilebilmesini ve dağıtılabilmesini sağlamak için eğitilmiş model ağırlıklarını ve yapılandırmalarını kaydeder.
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üş: Ultralytics YOLO11; otonom sürüş sistemlerinin güvenliğini ve verimliliğini artırmak için yayaları, araçları ve trafik işaretlerini gerçek zamanlı olarak tespit edip sınıflandırmak amacıyla 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.
MLflow entegrasyonunun faydaları#
YOLO models ile MLflow entegrasyonu, makine öğrenimi deneyimlerini yönetmeyi daha kolay ve verimli hale getirir. Temel görevleri otomatikleştirerek ve her şeyi düzenli tutarak modellerinizi oluşturmaya ve geliştirmeye odaklanmanıza olanak tanır. İşte temel faydalarına hızlı 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.
Ö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.
Yapay zeka hakkında bilgi edinmek için community topluluğumuza katıl ve GitHub repository depomuzu incele. Ayrıca çözümler sayfalarımızda computer vision in manufacturing veya AI in self-driving cars ile ilgili daha fazla uygulamayı keşfedebilirsin.






