Yeşil çek
Panoya kopyalanan bağlantı

Günlük Ultralytics YOLO MLflow entegrasyonunu kullanan deneyler

MLflow entegrasyonunun ve günlük kaydının Ultralytics YOLO deneylerinizi nasıl geliştirebileceğini ve bilgisayarla görme uygulamaları için üstün izleme sağlayabileceğini keşfedin.

Bir bilgisayarla görme projesini bir bulmaca olarak düşünebilirsiniz. Esasen, bir veri kümesi toplamak, bir modeli eğitmek ve onu dağıtmak gibi bulmacanın parçalarını bir araya getirerek makinelere görsel verileri anlamayı öğretirsiniz. Her şey yerine oturduğunda, görüntüleri ve videoları etkili bir şekilde analiz edebilen ve anlamlandırabilen bir sistem elde edersiniz.

Ancak, tıpkı gerçek bir bulmaca gibi, bir bilgisayarla görme projesinin her kısmı basit değildir. Deney takibi (ayarlarınızın, yapılandırmalarınızın ve verilerinizin kaydını tutmak) ve günlük kaydı (sonuçları ve performans metriklerini yakalamak) gibi görevler çok zaman ve çaba gerektirebilir. Bu adımlar bilgisayarla görme modellerinizi geliştirmek ve iyileştirmek için önemli olsa da, bazen bir darboğaz gibi hissedebilirler.

İşte bu noktada Ultralytics YOLO modelleri ve MLflow ile entegrasyonu devreye giriyor. Gibi modeller Ultralytics YOLO11 nesne algılama, örnek segmentasyonu ve görüntü sınıflandırma gibi çok çeşitli bilgisayarla görme görevlerini destekler. Bu yetenekler, heyecan verici bilgisayarla görme uygulamalarının oluşturulmasını sağlar. MLflow entegrasyonu gibi entegrasyonlara güvenme seçeneğine sahip olmak, vizyon mühendislerinin ayrıntılara takılmak yerine modelin kendisine odaklanmasını sağlar. 

Özellikle MLflow entegrasyonu, eğitim süreci boyunca çeşitli metrikleri, parametreleri ve artifaktları günlüğe kaydederek süreci basitleştirir. Bu makalede, MLflow entegrasyonunun nasıl çalıştığını, faydalarını ve Ultralytics YOLO iş akışlarınızı kolaylaştırmak için nasıl kullanabileceğinizi inceleyeceğiz.

MLflow nedir?

MLflow, tüm makine öğrenimi yaşam döngüsünü kolaylaştırmak ve yönetmek için tasarlanmış açık kaynaklı bir platformdur (Databricks tarafından geliştirilmiştir). Makine öğrenimi modellerini geliştirme, dağıtma ve sürdürme sürecini kapsar. 

MLflow aşağıdaki temel bileşenleri içerir:

  • Deney izleme: Bu bileşen, her model eğitim çalışması 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 farklı sürümleri takip edebileceğiniz ve bunları test, hazırlık ve üretim gibi aşamalara göre düzenleyebileceğiniz bir depolama sistemi gibidir.
  • Proje paketleme: MLflow, makine öğrenimi projelerinizi kod, ayarlar ve gerekli araçlar dahil olmak üzere paketlemeyi kolaylaştırır, böylece ekipler ve ortamlar arasında tutarlı bir şekilde paylaşılabilir ve kullanılabilir.
  • Model dağıtımı: MLflow, eğitimli modellerinizi iş istasyonları gibi yerlere veya AWS ve Azure gibi bulut platformlarına hızlı bir şekilde dağıtmak için araçlar sağlayarak onları gerçek dünyada kullanıma hazır hale getirir.
__wf_reserved_inherit
Şekil 1. MLflow'un bileşenleri.

MLflow'un bileşenleri, makine öğrenimi sürecini daha kolay ve verimli bir şekilde yönetmeyi sağlar. Bu entegrasyon sayesinde Ultralytics , YOLO modellerini eğitirken parametreleri, metrikleri ve artifaktları günlüğe kaydetmek için MLflow'un deney izleme özelliğini kullanmayı mümkün kılar. Farklı YOLO model sürümlerini izlemeyi ve 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 hangi özellikleri sunduğuna bakalım. 

MLflow entegrasyonu, bilgisayarla görme deneylerinizin önemli yönlerini otomatik olarak izleyip günlüğe kaydederek eğitim sürecini daha verimli ve düzenli hale getirmek için oluşturulmuştur. Üç ana kayıt türünü kolaylaştırır: metrikler, parametreler ve eserler.

İşte her bir kayıt türüne daha yakından bir bakış:

  • Metrik günlüğü: Metrikler, eğitim sırasında modelinizin performansını ölçen nicel değerlerdir. Örneğin, doğruluk, kesinlik, geri çağırma veya kayıp gibi ölçütler her dönemin sonunda (veri kümenizden tam bir geçiş) izlenir.
  • Parametre kaydı: Parametreler, öğrenme hızı, yığın boyutu (bir 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.
  • Artefaktların günlüğe kaydedilmesi: Artifaktlar, eğitim sırasında oluşturulan çıktılar veya dosyalardır. Bu, model ağırlıkları (modelinizin eğitim sırasında öğrendiği sayısal değerler), yapılandırma dosyaları (eğitim ayarlarını depolayan) ve diğer ilgili veriler gibi temel dosyaları içerir.
__wf_reserved_inherit
Şekil 2. MLflow entegrasyonunun temel günlük özellikleri. Yazar tarafından resim.

MLflow entegrasyonu nasıl çalışır?

MLflow entegrasyonunun etkinleştirilmesine ilişkin adım adım talimatlar için Ultralytics belgelerini inceleyebilirsiniz. Entegrasyon kurulduktan sonra, yukarıda tartışıldığı gibi eğitim deneylerinizin önemli ayrıntılarını otomatik olarak izler ve günlüğe kaydeder. Bu, manuel izleme ihtiyacını ortadan kaldırır ve modellerinizi iyileştirmeye odaklanmanıza yardımcı olur.

MLflow entegrasyonu ile tüm eğitim çalışmalarınız tek bir yerde saklanır, böylece sonuçları karşılaştırmak ve farklı konfigürasyonları değerlendirmek daha kolay hale gelir. Kaydedilen sonuçları karşılaştırarak en iyi performans gösteren konfigürasyonları belirleyebilir ve bu bilgileri modellerinizi geliştirmek için kullanabilirsiniz. Bu, iş akışınızın daha verimli, iyi belgelenmiş ve tekrarlanabilir olmasını sağlar.

Özellikle, her eğitim oturumu, birden fazla çalıştırma için bir kap görevi gören bir deney olarak 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ırmalardaki eğilimleri analiz edebilirsiniz. 

Örneğin, Ultralytics YOLOv8 ile çeşitli öğrenme oranlarını veya toplu iş boyutlarını test ediyorsanız, 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 gruplandırılır.

__wf_reserved_inherit
Şekil 3. MLflow entegrasyonunu kullanarak deneyleri görüntüleyebilirsiniz.

Bu arada, bireysel çalışma düzeyinde MLflow, belirli eğitim oturumuna ilişkin ayrıntılı bilgiler sağlar. Epoklar üzerinden doğruluk, kayıp ve hassasiyet gibi metrikleri görüntüleyebilir, kullanılan eğitim parametrelerini (ör. yığın boyutu ve öğrenme oranı) kontrol edebilir ve model ağırlıkları ve yapılandırma dosyaları gibi oluşturulan eserlere erişebilirsiniz. Bu ayrıntılar düzenli bir biçimde saklanır ve herhangi bir çalıştırmayı tekrar ziyaret etmeyi veya yeniden üretmeyi kolaylaştırır.

MLflow entegrasyonunu seçmek: neden öne çıkıyor

Ultralytics belgelerini incelerken ve mevcut entegrasyonları keşfederken kendinizi şu soruyu sorarken bulabilirsiniz: MLflow entegrasyonunu diğerlerinden ayıran nedir ve iş akışım için neden onu seçmeliyim?

TensorBoard gibi metrikleri takip etmeye ve sonuçları görselleştirmeye yönelik araçlar da sağlayan entegrasyonlarla birlikte MLflow entegrasyonunu öne çıkaran benzersiz nitelikleri anlamak önemlidir. 

İşte MLflow'un YOLO projeleriniz için neden ideal seçim olabileceği:

  • 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ırarak en iyi performans gösteren konfigürasyonları hızlı bir şekilde belirlemenize yardımcı olur.
  • Özel metrik kaydı: Görüntü mühendisleri, standart ölçümlere ek olarak özel ölçümleri de kaydedebilir ve böylece proje ihtiyaçlarına özel daha derinlemesine analizler yapabilir.
  • Çok dilli iş akışları için destek: MLflow, Python, R ve Java dahil olmak üzere birden fazla programlama diliyle uyumludur ve çeşitli makine öğrenimi işlem hatlarına entegrasyonu kolaylaştırır.

YOLO11 ve MLflow entegrasyonunun pratik uygulamaları

MLflow entegrasyonunu ne zaman kullanabileceğinizi daha kapsamlı bir şekilde anlamak için, sağlık alanında X-ray veya CT tarama görüntülerindeki tümörleri tespit etmek için YOLO11 adresini eğitmeniz gereken bir yapay zeka uygulamasını ele alalım. 

Böyle bir senaryoda, veri kümesi açıklamalı tıbbi görüntülerden oluşacaktır. Optimum doğruluğu elde etmek için öğrenme oranlarını, yığın boyutlarını ve görüntü ön işleme tekniklerini ayarlamak gibi çeşitli yapılandırmaları denemeniz gerekecektir. Sağlık hizmetlerinde riskler yüksek olduğundan ve hassasiyet ve güvenilirlik kritik önem taşıdığından, her bir deneyi manuel olarak takip etmek hızla yönetilemez hale gelebilir.

__wf_reserved_inherit
Şekil 4. Ultralytics YOLO11 adresini kullanarak tümörleri tespit etme.

MLflow entegrasyonu, her deneyin parametrelerini, metriklerini ve eserlerini otomatik olarak günlüğe kaydederek bu zorluğun üstesinden gelir. Örneğin, öğrenme oranını değiştirirseniz veya yeni bir artırma stratejisi uygularsanız MLflow bu değişiklikleri performans metrikleriyle birlikte kaydeder. Ayrıca MLflow, eğitilmiş model ağırlıklarını ve yapılandırmalarını kaydederek başarılı modellerin kolayca yeniden üretilebilmesini ve dağıtılabilmesini sağlar. 

Bu, MLflow entegrasyonunun Vision AI uygulamalarında deney yönetimini nasıl geliştirdiğinin sadece bir örneğidir. Aynı özellikler, aşağıdakiler de dahil olmak üzere diğer bilgisayarla görme uygulamaları için de geçerlidir:

  • Otonom sürüş: YOLO11 , kendi kendine 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 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, anormallikleri tespit etmek veya güvenliği artırmak için hassas alanlardaki gerçek zamanlı etkinlikleri izlemek üzere eğitilebilir.

MLflow entegrasyonunun faydaları

YOLO modelleriyle MLflow entegrasyonu, makine öğrenimi deneylerini 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ızı sağlar. İşte temel avantajlara bir bakış:

  • Büyük projeler için ölçekler: Platform, birden fazla deney ve modeli verimli bir şekilde ele alarak 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 eksiksiz bir geçmişini tutarak geçmiş çalışmaları tekrar ziyaret etmenize, önceki yapılandırmaları analiz etmenize ve önceki sonuçlardan öğrenmenize olanak tanır.
  • Devre dışı bırakma ve sıfırlama seçenekleri: MLflow günlük kaydı gerekmediğinde kolayca devre dışı bırakılabilir ve ayarlar varsayılanlara sıfırlanabilir, bu da 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 hale getirir. Parametreler, metrikler ve eserler gibi önemli ayrıntıları otomatik olarak izleyerek süreci basitleştirir ve manuel deney yönetiminin zorluklarını ortadan kaldırır. 

İster tümör tespiti gibi sağlık çözümleri üzerinde çalışıyor, ister otonom sürüş sistemlerini iyileştiriyor veya perakende analitiğini geliştiriyor olun, bu entegrasyon her şeyin düzenli ve tekrarlanabilir olmasına yardımcı olur. Sezgisel arayüzü ve esnekliği ile MLflow, geliştiricilerin daha iyi modeller oluşturmaya ve Vision AI uygulamalarında inovasyonu teşvik etmeye odaklanmalarını sağlar.

Topluluğumuza katılın ve yapay zeka hakkında bilgi edinmek için GitHub depomuza göz atın. Ayrıca çözümler sayfalarımızda üretimde bilgisayarla görme veya sürücüsüz araç larda yapay zeka ile ilgili daha fazla uygulama keşfedebilirsiniz.

LinkedIn logosuTwitter logosuFacebook logosuKopya-bağlantı sembolü

Bu kategoride daha fazlasını okuyun

Yapay zekanın gelecekteki
adresini birlikte inşa edelim!

Makine öğreniminin geleceği ile yolculuğunuza başlayın