MLflow entegrasyonunu kullanarak Ultralytics YOLO deneylerinin günlüğünü tut
Ultralytics MLflow entegrasyonunun YOLO eğitim çalışmalarındaki metrikleri, parametreleri ve yapıtları nasıl kaydettiğini öğren; böylece deneyleri karşılaştırabilir ve sonuçları yeniden üretebilirsin.
Abirami Vina7 dakikalık okuma
Bir bilgisayarlı görü projesini bir yapboz gibi düşünebilirsin. Temelde, veri kümesi toplama, model eğitme ve modeli devreye alma gibi yapboz parçalarını bir araya getirerek makinelere görsel verileri anlamayı öğretirsin. Her şey yerine oturduğunda görüntüleri ve videoları etkili biçimde analiz edip anlamlandırabilen bir sistem elde edersin.
Ancak tıpkı gerçek bir yapbozda olduğu gibi, bilgisayarlı görü projesinin her aşaması kolay değildir. Deney takibi (ayarlarını, yapılandırmalarını ve verilerini kaydetmek) ve günlük kaydı (sonuçları ve performans ölçümlerini kaydetmek) 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 darboğaz oluşturabilir.
Ultralytics YOLO modelleri ve MLflow ile entegrasyonları tam da bu noktada devreye giriyor. Ultralytics YOLO11 gibi modeller; nesne algılama, örnek segmentasyonu ve görüntü sınıflandırma dâhil olmak üzere çok çeşitli bilgisayarlı görü görevlerini destekler. Bu yetenekler, geniş bir bilgisayarlı görü uygulamaları yelpazesinin önünü açar. MLflow entegrasyonu gibi entegrasyonlardan yararlanma seçeneği, görsel yapay zekâ mühendislerinin ayrıntılara takılmak yerine doğrudan modele odaklanmasını sağlar.
Özellikle MLflow entegrasyonu, eğitim süreci boyunca çeşitli ölçümleri, parametreleri ve yapıtları kaydederek süreci basitleştirir. Bu makalede MLflow entegrasyonunun nasıl çalıştığını, faydalarını ve Ultralytics YOLO iş akışlarını kolaylaştırmak için nasıl kullanabileceğini inceleyeceğiz.
MLflow nedir?#
MLflow, makine öğrenimi yaşam döngüsünün tamamını kolaylaştırmak ve yönetmek için tasarlanmış açık kaynaklı bir platformdur (Databricks tarafından geliştirilmiştir). Makine öğrenimi modellerinin geliştirilmesi, devreye alınması ve bakımının yapılması süreçlerini kapsar.
MLflow şu temel bileşenleri içerir:
- Deney takibi: Bu bileşen, her model eğitim çalıştırması için model ayarları, sonuçlar ve dosyalar gibi önemli ayrıntıları kaydetmeye odaklanır. Modelleri karşılaştırmana, değişikliklerin performansı nasıl etkilediğini görmene ve en iyisini bulmana yardımcı olur.
- Model kayıt defteri: Bu bileşen, modellerin için bir depolama sistemi gibidir; farklı sürümleri takip edebilir ve test, hazırlık ve üretim gibi aşamalara göre düzenleyebilirsin.
- Proje paketleme: MLflow, kod, ayarlar ve gerekli araçlar dahil olmak üzere makine öğrenimi projelerini kolayca paketlemeyi sağlar; böylece projeler ekipler ve ortamlar arasında tutarlı biçimde paylaşılabilir ve kullanılabilir.
- Model devreye alma: MLflow, eğitilmiş modellerini iş istasyonları veya AWS ve Azure gibi bulut platformlarına hızla devreye almak için araçlar sunarak modelleri gerçek dünyada kullanıma hazır hâle getirir.

Şekil 1. MLflow bileşenleri.
MLflow'un bileşenleri, makine öğrenimi sürecini yönetmeyi kolaylaştırır ve daha verimli hâle getirir. Bu entegrasyon sayesinde Ultralytics, YOLO modellerini eğitirken parametreleri, ölçümleri ve yapıtları kaydetmek için MLflow'un deney takibi özelliğinden yararlanmayı mümkün kılar. Farklı YOLO model sürümlerini takip edip karşılaştırmayı kolaylaştırır.
MLflow entegrasyonu eğitimi kolaylaştırır#
MLflow'un ne olduğunu ele aldığımıza göre, şimdi MLflow entegrasyonunun ayrıntılarına ve sunduğu özelliklere bakalım.
MLflow entegrasyonu, bilgisayarlı görü deneylerinin önemli yönlerini otomatik olarak izleyip kaydederek eğitim sürecini daha verimli ve düzenli hâle getirmek için tasarlanmıştır. Üç ana kayıt türünü destekler: metrikler, parametreler ve yapıtlar.
Her kayıt türüne daha yakından bakalım:
- Metrik kaydı: Metrikler, eğitim sırasında modelinin performansını ölçen nicel değerlerdir. Örneğin doğruluk, kesinlik, duyarlılık veya kayıp gibi metrikler her epoch'un sonunda (veri kümenin üzerinden yapılan tam bir geçişte) izlenir.
- Parametre kaydı: Parametreler, model eğitimi başlamadan önce belirlediğin öğrenme oranı, toplu iş boyutu (bir eğitim adımında işlenen örnek sayısı) ve epoch sayısı gibi ayarlardır. Bu parametreler, modelinin davranışını ve performansını önemli ölçüde etkiler.
- Yapıt kaydı: Yapıtlar, eğitim sırasında oluşturulan çıktılar veya dosyalardır. Bunlar; model ağırlıkları (modelinin eğitim sırasında öğrendiği sayısal değerler), yapılandırma dosyaları (eğitim ayarlarını saklar) ve diğer ilgili veriler gibi temel dosyaları içerir.

Şekil 2. MLflow entegrasyonunun temel kayıt özellikleri. Görsel yazara aittir.
MLflow entegrasyonu nasıl çalışır?#
Etkinleştirme adımlarını MLflow entegrasyonu için Ultralytics belgelerinde adım adım inceleyebilirsin. Kurulum tamamlandığında entegrasyon, yukarıda ele alındığı gibi eğitim deneylerinin önemli ayrıntılarını otomatik olarak izleyip kaydeder. Böylece manuel izleme ihtiyacını ortadan kaldırır ve modellerini iyileştirmeye odaklanmana yardımcı olur.
MLflow entegrasyonuyla tüm eğitim çalıştırmaların tek bir yerde saklanır; böylece sonuçları karşılaştırmak ve farklı yapılandırmaları değerlendirmek kolaylaşır. Kaydedilen sonuçları karşılaştırarak en iyi performans gösteren yapılandırmaları belirleyebilir ve bu içgörüleri modellerini geliştirmek için kullanabilirsin. Böylece iş akışın daha verimli, iyi belgelenmiş ve yeniden üretilebilir olur.
Özellikle, her eğitim oturumu birden fazla çalıştırma için kapsayıcı görevi gören bir deney içinde düzenlenir. Bir deneyde ilişkili tüm çalıştırmaları görüntüleyebilir, performanslarını yan yana karşılaştırabilir ve farklı yapılandırmalardaki eğilimleri analiz edebilirsin.
Örneğin, Ultralytics YOLOv8 ile çeşitli öğrenme oranlarını veya toplu iş boyutlarını test ediyorsan, aşağıda gösterildiği gibi kolay karşılaştırma ve analiz için ilgili tüm çalıştırmalar aynı deney altında gruplanır.

Şekil 3. MLflow entegrasyonuyla deneyleri görüntüleyebilirsin.
Bu sırada MLflow, tek tek çalıştırma düzeyinde belirli eğitim oturumuyla ilgili ayrıntılı içgörüler sunar. Epoch'lar boyunca doğruluk, kayıp ve kesinlik gibi metrikleri görüntüleyebilir, kullanılan eğitim parametrelerini (ör. toplu iş boyutu ve öğrenme oranı) kontrol edebilir ve model ağırlıkları ile yapılandırma dosyaları gibi oluşturulan yapıtları inceleyebilirsin. Bu ayrıntılar düzenli bir biçimde saklanır; böylece istediğin çalıştırmayı kolayca yeniden inceleyebilir veya yeniden üretebilirsin.
MLflow entegrasyonunu seçmek: Öne çıkan yönleri neler?#
Ultralytics belgelerini incelerken ve mevcut entegrasyonları keşfederken kendine şu soruyu sorabilirsin: MLflow entegrasyonunu farklı kılan ne ve iş akışım için neden bunu seçmeliyim?
Metrikleri izlemek ve sonuçları görselleştirmek için araçlar sunan TensorBoard gibi entegrasyonlar da olduğundan, MLflow entegrasyonunu öne çıkaran özgün özellikleri anlamak önemlidir.
MLflow'un YOLO projelerin için ideal bir seçenek olmasının nedenleri şöyle:
- Kullanıcı dostu arayüz: MLflow kontrol 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 belirleyebilirsin.
- Özel metrik kaydı: Görüntü işleme mühendisleri, standart metriklere ek olarak özel metrikleri de kaydedebilir; böylece proje gereksinimlerine özgü daha derin analizler yapabilir.
- Çok dilli iş akışları desteği: MLflow, Python, R ve Java dâhil olmak üzere birçok programlama diliyle uyumludur ve farklı makine öğrenimi işlem hatlarına entegrasyonu kolaylaştırır.
Ultralytics YOLO11 ve MLflow entegrasyonunun pratik uygulamaları#
MLflow entegrasyonunu hangi durumlarda kullanabileceğini daha kapsamlı biçimde anlamak için, X-ray veya BT tarama görüntülerindeki tümörleri tespit etmek üzere Ultralytics YOLO11'i eğitmen gereken bir sağlık hizmetleri yapay zekâ uygulamasını ele alalım.
Böyle bir senaryoda veri kümesi, açıklama eklenmiş tıbbi görüntülerden oluşur. En iyi 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ırmaları denemen gerekir. Sağlık hizmetlerinde riskler yüksek, kesinlik ve güvenilirlik kritik olduğundan her deneyi manuel olarak izlemek kısa sürede yönetilemez hâle gelebilir.

Şekil 4. Ultralytics YOLO11 ile tümör tespiti.
MLflow entegrasyonu, her deneyin parametrelerini, metriklerini ve yapıtlarını otomatik olarak kaydederek bu sorunu çözer. Örneğin, öğrenme oranını değiştirir veya yeni bir artırma 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ı saklayarak başarılı modellerin kolayca yeniden üretilmesini ve dağıtılmasını sağlar.
Bu, MLflow entegrasyonunun görüntü yapay zekâ uygulamalarında deney yönetimini nasıl geliştirdiğine dair yalnızca bir örnektir. Aynı özellikler aşağıdakiler dâhil diğer bilgisayarlı görü uygulamaları için de geçerlidir:
- Otonom sürüş: Ultralytics YOLO11, sürücüsüz sistemlerin 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ırabilir.
- Perakende analitiği: Nesne tespit modelleri, mağaza içi etkinlikleri video akışları üzerinden analiz ederek müşteri davranışlarını izleyebilir, ürün yerleşimlerini takip edebilir ve envanteri optimize edebilir.
- Güvenlik ve gözetim: Güvenliği artırmak için modeller, hassas alanlardaki anormallikleri tespit edecek veya gerçek zamanlı etkinlikleri izleyecek şekilde eğitilebilir.
MLflow entegrasyonunun avantajları#
MLflow'un YOLO modelleri ile entegrasyonu, makine öğrenimi deneylerini yönetmeyi daha kolay ve verimli hâle getirir. Temel görevleri otomatikleştirip her şeyi düzenli tutarak modellerini oluşturmaya ve iyileştirmeye odaklanmanı sağlar. Başlıca avantajlarına göz atalım:
- Büyük projelere ölçeklenir: Platform, birden fazla deneyi ve modeli verimli biçimde yöneterek büyük ekipler ve karmaşık iş akışları için uygun hâle gelir.
- Ayrıntılı deney geçmişi: Platform, deneylerin eksiksiz geçmişini tutar; böylece önceki çalıştırmaları yeniden inceleyebilir, geçmiş yapılandırmaları analiz edebilir ve önceki sonuçlardan öğrenebilirsin.
- Devre dışı bırakma ve sıfırlama seçenekleri: MLflow kaydı gerekmediğinde kolayca devre dışı bırakılabilir ve ayarlar varsayılanlara sıfırlanabilir; böylece değişen iş akışı gereksinimlerine uyum sağlama esnekliği sunar.
Önemli çıkarımlar#
MLflow entegrasyonu, Ultralytics YOLO deneylerini yönetmeyi ve optimize etmeyi daha kolay ve verimli hâle getirir. Parametreler, metrikler ve yapıtlar gibi önemli ayrıntıları otomatik olarak izleyip kaydederek süreci basitleştirir ve manuel deney yönetiminin zahmetini ortadan kaldırır.
İster tümör tespiti gibi sağlık çözümleri üzerinde çalışıyor, ister otonom sürüş sistemlerini geliştiriyor, ister perakende analitiğini iyileştiriyor ol, bu entegrasyon her şeyi düzenli ve yeniden üretilebilir tutmana yardımcı olur. Sezgisel arayüzü ve esnekliğiyle MLflow, geliştiricilerin daha iyi modeller oluşturmaya ve görüntü yapay zekâ uygulamalarında yenilik yapmaya odaklanmasını sağlar.
Yapay zekâ hakkında bilgi edinmek için topluluğumuza katıl ve GitHub depomuza göz at. Ayrıca çözümler sayfalarımızda üretimde bilgisayarlı görü veya sürücüsüz araçlarda yapay zekâ uygulamalarını keşfedebilirsin.
Yazan
Yorumlar
Soru sor, sonuçlarını paylaş veya başka birine yardım et.










