Ultralytics YOLO27:
Entegrasyonlar

Ultralytics YOLOv5'i ClearML Kullanarak Uzaktan Eğitme ve İzleme

Sorunsuz ML entegrasyonu, deney takibi ve daha fazlasıyla gelişmiş bir Ultralytics YOLOv5 deneyimi için ClearML ile iş ortaklığımızı keşfet.

NUNuvola Ladi6 min read
ClearML ile YOLOv5 eğitimi ve izleme

Ultralytics olarak, YOLOv5 gibi harika açık kaynaklı araçlarımızı herkes için ücretsiz tutabilmek amacıyla araştırma ve geliştirme çalışmalarımızı finanse etmemize yardımcı olmaları için diğer startup'larla ticari ortaklıklar kuruyoruz. Bu makale, bu ortaklara ait satış ortaklığı bağlantıları içerebilir.

ClearML en yeni ortağımızdır: zamandan tasarruf etmen için tasarlanmış bir açık kaynaklı araç seti.

ClearML, ML'nin mevcut tüm Yazılım ve Donanım ürünlerine sorunsuz şekilde entegre edilmesini sağlayarak ML Adoption'ı hızlandırma misyonuyla hareket eder.

Bu entegrasyon, bir YOLOv5 modelini eğitmeyi ve ClearML deney yöneticisini kullanarak modeli otomatik olarak izlemeyi daha da kolaylaştırır. Girdi olarak bir ClearML veri kümesi sürüm kimliğini kolayca belirtebilirsin; bu kimlik, modelini eğitmek için otomatik olarak kullanılır.

Deney İzlemeyi Bir Üst Seviyeye Taşı#

  • Her YOLOv5 eğitim çalıştırmasını deney yöneticisinde izle.
  • Entegre ClearML Data Versioning Tool ile özel eğitim verilerini sürümlendir ve bunlara kolayca eriş.
  • ClearML Hyperparameter Optimization ile en yüksek mAP değerini elde et.
  • ClearML Serving'i kullanarak yeni eğittiğin YOLOv5 modelini yalnızca birkaç komutla API'ye dönüştür.

Bu araçlardan kaçını kullanacağına sen karar verirsin; yalnızca deney yöneticisini kullanabilir veya hepsini etkileyici bir işlem hattında bir araya getirebilirsin.

Kurulum#

Deneylerini ve verilerini izleyebilmek için ClearML'nin bir sunucuyla iletişim kurması gerekir. Bunun için iki seçeneğin var: ClearML Hosted Service'e ücretsiz kaydolabilir veya kendi sunucunu kurabilirsin; ClearML Server deployment docs sayfasına bakabilirsin.

Sunucu bile açık kaynaklıdır; bu nedenle hassas verilerle çalışıyorsan bu bir sorun değildir!

  1. clearml python paketini yükle: pip install clearml
  2. Kimlik bilgileri oluşturarak ClearML SDK'sını sunucuya bağla (sağ üstten Settings → Workspace → Create new credentials yolunu izle), ardından aşağıdaki komutu çalıştır ve talimatları izle: clearml-init

İşte bu kadar! Başlamaya hazırsın...

ClearML ile YOLOv5 Eğitimi#

ClearML deney izlemeyi etkinleştirmek için ClearML pip paketini yüklemen yeterlidir.

pip install clearml

Bu işlem, YOLOv5 eğitim betiğiyle entegrasyonu etkinleştirir. Bundan sonra her eğitim çalıştırması ClearML deney yöneticisi tarafından yakalanıp depolanır. project_name veya task_name değerlerini değiştirmek istersen, bunları değiştirebileceğin özel günlükçümüze git: utils/loggers/clearml/clearml_utils.py

python train.py --img 640 --batch 16 --epochs 3 --data coco128.yaml --weights yolov5s.pt --cache

Şunlar yakalanır:

  • Kaynak kodu + commit edilmemiş değişiklikler
  • Yüklü paketler
  • (Hiper)parametreler
  • Model dosyaları (her n epoch'ta bir kontrol noktası kaydetmek için --save-period n kullan)
  • Konsol çıktısı
  • Skalerler (mAP_0.5, mAP_0.5:0.95, kesinlik, geri çağırma, kayıplar, öğrenme oranları, ...)
  • Makine ayrıntıları, çalışma zamanı, oluşturulma tarihi vb. genel bilgiler
  • Etiket korelogramı ve hata matrisi gibi oluşturulan tüm grafikler
  • Her epoch için sınırlayıcı kutular içeren görüntüler
  • Her epoch için mozaik
  • Her epoch için doğrulama görüntüleri

Fena değil! Artık eğitim ilerlemene genel bir bakış elde etmek için tüm bu bilgileri ClearML kullanıcı arayüzünde görselleştirebiliriz. En iyi performans gösteren modeli kolayca sıralayabilmen için tablo görünümüne özel sütunlar (örneğin mAP_0.5) ekle. Ya da birden fazla deneyi seçip doğrudan karşılaştır!

Hiperparametre optimizasyonu ve uzaktan çalıştırma gibi işlemler için tüm bu bilgilerle yapabileceğimiz daha çok şey var; nasıl yapılacağını öğrenmek için okumaya devam et!

Veri Kümesi Sürüm Yönetimi#

Verilerini kodundan ayrı olarak sürümlendirmek genellikle iyi bir fikirdir ve en güncel sürümü edinmeni de kolaylaştırır. Bu depo, bir veri kümesi sürüm kimliği belirtmeni destekler ve veriler henüz mevcut değilse bunları alır. Ayrıca bu iş akışı, kullanılan veri kümesi kimliğini görev parametrelerinin bir parçası olarak da kaydeder; böylece hangi deneyde hangi verilerin kullanıldığını her zaman kesin olarak bilirsin!

Veri Kümeni Hazırla#

YOLOv5 deposu, bilgilerini içeren YAML dosyalarını kullanarak çeşitli veri kümelerini destekler. Varsayılan olarak veri kümeleri, depo kök klasörüne göre ../datasets klasörüne indirilir. Bu nedenle YAML'deki bağlantıyı veya yolov5 tarafından sağlanan betikleri kullanarak coco128 veri kümesini indirdiysen klasör yapın şöyle olur:

..
|_ yolov5
|_ datasets
    |_ coco128
        |_ images
        |_ labels
        |_ LICENSE
        |_ README.txt

Ancak bu, istediğin herhangi bir veri kümesi olabilir. Bu klasör yapısını koruduğun sürece kendi veri kümeni kullanabilirsin.

Ardından ⚠️ilgili YAML dosyasını veri kümesi klasörünün köküne kopyala⚠️. Bu YAML dosyaları, ClearML'nin veri kümesini doğru şekilde kullanmak için ihtiyaç duyacağı bilgileri içerir. Elbette bu dosyayı kendin de oluşturabilirsin; örnek YAML dosyalarının yapısını izlemen yeterlidir.

Temel olarak şu anahtarlara ihtiyacımız var: path, train, test, val, nc, names.

..
|_ yolov5
|_ datasets
    |_ coco128
        |_ images
        |_ labels
        |_ coco128.yaml # ← HERE!
        |_ LICENSE
        |_ README.txt

Veri Kümeni Yükle#

Bu veri kümesini sürümlendirilmiş bir veri kümesi olarak ClearML'ye aktarmak için veri kümesinin kök klasörüne git ve aşağıdaki komutu çalıştır:

cd coco128

clearml-data sync --project YOLOv5 --name coco128 --folder .

clearml-data sync komutu aslında bir kısaltmadır. Bu komutları art arda da çalıştırabilirsin:

# Optionally add --parent if you want to base
# this version on another dataset version, so no duplicate files are uploaded!

clearml-data create --name coco128 --project YOLOv5

clearml-data add --files .

clearml-data close

ClearML Veri Kümesini Kullanarak Eğitimi Çalıştır#

Artık bir ClearML veri kümesine sahip olduğuna göre bunu özel YOLOv5 modellerini eğitmek için çok kolay bir şekilde kullanabilirsin.

python train.py --img 640 --batch 16 --epochs 3 --data clearml:// --weights yolov5s.pt --cache

Hiperparametre Optimizasyonu#

Artık deneylerimize ve veri sürümümüze sahip olduğumuza göre, bunların üzerine neler inşa edebileceğimize bakmanın zamanı geldi!

Kod bilgileri, yüklü paketler ve ortam ayrıntıları kullanıldığından deneyin kendisi artık tamamen yeniden üretilebilir. Hatta ClearML, bir deneyi klonlamana ve parametrelerini değiştirmenize olanak tanır. Ardından bu yeni parametrelerle deneyi otomatik olarak yeniden çalıştırabiliriz; HPO temelde bunu yapar!

Hiperparametre optimizasyonunu yerel olarak çalıştırmak için senin için hazır bir betik ekledik. Bir eğitim görevinin en az bir kez çalıştırıldığından ve ClearML deney yöneticisinde bulunduğundan emin ol; bu görevi temelde klonlayıp hiperparametrelerini değiştireceğiz.

utils/loggers/clearml/hpo.py konumunda bulunan betiğe bu şablon görevin kimliğini girmen ve ardından betiği çalıştırman gerekir. Görevi bir ClearML kuyruğuna eklemek ve bunun yerine uzak bir aracının üzerinde çalışmasını sağlamak için task.execute_locally() değerini task.execute() olarak değiştirebilirsin.

# To use optuna, install it first, otherwise you can change the optimizer to just be RandomSearch
pip install optuna
python utils/loggers/clearml/hpo.py

Uzaktan Çalıştırma (İleri Düzey)#

HPO'yu yerel olarak çalıştırmak gerçekten kullanışlıdır; ancak deneylerimizi bunun yerine uzak bir makinede çalıştırmak istersek ne olacak? Belki şirket içinde çok güçlü bir GPU makinesine erişimin vardır veya bulut GPU'larını kullanmak için bir bütçen bulunur. ClearML Agent burada devreye girer.

Aracının neler yapabileceğine buradan göz at:

Kısaca: deney yöneticisi tarafından izlenen her deney, farklı bir makinede yeniden üretilebilmesi için yeterli bilgiyi içerir (yüklü paketler, commit edilmemiş değişiklikler vb.). ClearML agent tam olarak bunu yapar: gelen görevler için bir kuyruğu dinler ve bir görev bulduğunda ortamı yeniden oluşturup görevi çalıştırırken skalerleri, grafikleri vb. deney yöneticisine bildirmeye devam eder.

Şu komutu çalıştırarak herhangi bir makineyi (bulut VM'si, yerel GPU makinesi veya kendi dizüstü bilgisayarın) ClearML agent'a dönüştürebilirsin:

clearml-agent daemon --queue [--docker]

Klonlama, Düzenleme ve Kuyruğa Ekleme#

Aracımız çalıştığına göre ona bazı işler verebiliriz. HPO bölümünde bir görevi klonlayıp hiperparametrelerini düzenleyebileceğimizi hatırlıyor musun? Bunu arayüzden de yapabiliriz!

🪄 Deneye sağ tıklayarak deneyi klonla

🎯 Hiperparametreleri istediğin değerlere göre düzenle

⏳ Göreve sağ tıklayarak görevi kuyruklardan birine ekle

Bir Görevi Uzaktan Çalıştırma#

Artık yukarıda açıkladığımız gibi bir görevi klonlayabilir veya mevcut betiğini task.execute_remotely() ekleyerek işaretleyebilirsin; çalıştırıldığında görev bir kuyruğa eklenir ve aracının üzerinde çalışmaya başlaması sağlanır!

YOLOv5 eğitim betiğini uzaktan çalıştırmak için yapman gereken tek şey, ClearML günlükçüsü başlatıldıktan sonra train.py betiğine bu satırı eklemektir:

# ...
# Loggers
data_dict = None
if RANK in {-1, 0}:
    loggers = Loggers(save_dir, weights, opt, hyp, LOGGER)  # loggers instance
    if loggers.clearml:
        loggers.clearml.task.execute_remotely(queue="my_queue")  # <------ ADD THIS LINE

Soruların mı var? Topluluğumuza katıl ve sorunu bugün paylaş!

Explore solutions

Hava görüntüleri için bilgisayarlı görü

Hava görüntüleri için bilgisayarlı görü

Ultralytics YOLO ile tarım, su ürünleri yetiştiriciliği, çevresel izleme, koruma ve coğrafi uzaktan algılama için drone ve hava görüntülerini gerçek zamanlı içgörülere dönüştür.
Daha fazla bilgi edin
Havacılıkta bilgisayarlı görü

Havacılıkta bilgisayarlı görü

Ultralytics YOLO modelleri ile havadan izlemeye yapay zeka tabanlı görü kazandır. Bilgisayarlı görü çözümleriyle dronları, havacılık iş akışlarını, çevre koruma ve jeosansiyel endüstrilerini güçlendir.
Daha fazla bilgi edin

Ultralytics YOLO modelleri ile her alanı koru. Yapay zeka tabanlı görü; çevre izleme, tehdit tespiti, plaka tanıma ve iş yeri güvenliğini destekler.
Daha fazla bilgi edin
Robotikte bilgisayarlı görü

Robotikte bilgisayarlı görü

Ultralytics YOLO modelleriyle daha akıllı makineler geliştir. Robotikte Vision AI; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü mümkün kılar.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Vision AI; paket denetimini, ayırmayı, araç takibini ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Perakendede bilgisayarlı görü

Perakendede bilgisayarlı görü

Ultralytics YOLO modelleriyle perakendeyi yeniden tasarla. Vision AI; envanter takibini, raf izlemeyi, sıra yönetimini ve daha akıllı müşteri içgörülerini destekler.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

Sağlık hizmetlerinde bilgisayarlı görü

Ultralytics YOLO modelleriyle sağlık hizmetleri çözümleri geliştir. Sağlık hizmetlerindeki Vision AI; daha hızlı tıbbi görüntülemeyi, daha akıllı tanıyı ve hasta takibini mümkün kılar.
Daha fazla bilgi edin
Üretimde bilgisayarlı görü

Üretimde bilgisayarlı görü

Ultralytics YOLO modelleriyle üretimi optimize et. Vision AI; kalite kontrolünü, kusur tespitini, PPE uyumluluğunu ve montaj hattı otomasyonunu güçlendirir.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görü uygulayın. Görsel yapay zekâ, daha akıllı yollar için yol güvenliğini, sürücü yardımını ve araç otomasyonunu geliştirir.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görsel yapay zekâ taşıyın. Daha yüksek ve akıllı verim için ürün izlemeye, hayvan takibine ve hassas tarıma güç verin.
Daha fazla bilgi edin
Hava görüntüleri için bilgisayarlı görü

Hava görüntüleri için bilgisayarlı görü

Ultralytics YOLO ile tarım, su ürünleri yetiştiriciliği, çevresel izleme, koruma ve coğrafi uzaktan algılama için drone ve hava görüntülerini gerçek zamanlı içgörülere dönüştür.
Daha fazla bilgi edin
Havacılıkta bilgisayarlı görü

Havacılıkta bilgisayarlı görü

Ultralytics YOLO modelleri ile havadan izlemeye yapay zeka tabanlı görü kazandır. Bilgisayarlı görü çözümleriyle dronları, havacılık iş akışlarını, çevre koruma ve jeosansiyel endüstrilerini güçlendir.
Daha fazla bilgi edin

Ultralytics YOLO modelleri ile her alanı koru. Yapay zeka tabanlı görü; çevre izleme, tehdit tespiti, plaka tanıma ve iş yeri güvenliğini destekler.
Daha fazla bilgi edin
Robotikte bilgisayarlı görü

Robotikte bilgisayarlı görü

Ultralytics YOLO modelleriyle daha akıllı makineler geliştir. Robotikte Vision AI; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü mümkün kılar.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Vision AI; paket denetimini, ayırmayı, araç takibini ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Perakendede bilgisayarlı görü

Perakendede bilgisayarlı görü

Ultralytics YOLO modelleriyle perakendeyi yeniden tasarla. Vision AI; envanter takibini, raf izlemeyi, sıra yönetimini ve daha akıllı müşteri içgörülerini destekler.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

Sağlık hizmetlerinde bilgisayarlı görü

Ultralytics YOLO modelleriyle sağlık hizmetleri çözümleri geliştir. Sağlık hizmetlerindeki Vision AI; daha hızlı tıbbi görüntülemeyi, daha akıllı tanıyı ve hasta takibini mümkün kılar.
Daha fazla bilgi edin
Üretimde bilgisayarlı görü

Üretimde bilgisayarlı görü

Ultralytics YOLO modelleriyle üretimi optimize et. Vision AI; kalite kontrolünü, kusur tespitini, PPE uyumluluğunu ve montaj hattı otomasyonunu güçlendirir.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görü uygulayın. Görsel yapay zekâ, daha akıllı yollar için yol güvenliğini, sürücü yardımını ve araç otomasyonunu geliştirir.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görsel yapay zekâ taşıyın. Daha yüksek ve akıllı verim için ürün izlemeye, hayvan takibine ve hassas tarıma güç verin.
Daha fazla bilgi edin
Hava görüntüleri için bilgisayarlı görü

Hava görüntüleri için bilgisayarlı görü

Ultralytics YOLO ile tarım, su ürünleri yetiştiriciliği, çevresel izleme, koruma ve coğrafi uzaktan algılama için drone ve hava görüntülerini gerçek zamanlı içgörülere dönüştür.
Daha fazla bilgi edin
Havacılıkta bilgisayarlı görü

Havacılıkta bilgisayarlı görü

Ultralytics YOLO modelleri ile havadan izlemeye yapay zeka tabanlı görü kazandır. Bilgisayarlı görü çözümleriyle dronları, havacılık iş akışlarını, çevre koruma ve jeosansiyel endüstrilerini güçlendir.
Daha fazla bilgi edin

Ultralytics YOLO modelleri ile her alanı koru. Yapay zeka tabanlı görü; çevre izleme, tehdit tespiti, plaka tanıma ve iş yeri güvenliğini destekler.
Daha fazla bilgi edin
Robotikte bilgisayarlı görü

Robotikte bilgisayarlı görü

Ultralytics YOLO modelleriyle daha akıllı makineler geliştir. Robotikte Vision AI; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü mümkün kılar.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Vision AI; paket denetimini, ayırmayı, araç takibini ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Perakendede bilgisayarlı görü

Perakendede bilgisayarlı görü

Ultralytics YOLO modelleriyle perakendeyi yeniden tasarla. Vision AI; envanter takibini, raf izlemeyi, sıra yönetimini ve daha akıllı müşteri içgörülerini destekler.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

Sağlık hizmetlerinde bilgisayarlı görü

Ultralytics YOLO modelleriyle sağlık hizmetleri çözümleri geliştir. Sağlık hizmetlerindeki Vision AI; daha hızlı tıbbi görüntülemeyi, daha akıllı tanıyı ve hasta takibini mümkün kılar.
Daha fazla bilgi edin
Üretimde bilgisayarlı görü

Üretimde bilgisayarlı görü

Ultralytics YOLO modelleriyle üretimi optimize et. Vision AI; kalite kontrolünü, kusur tespitini, PPE uyumluluğunu ve montaj hattı otomasyonunu güçlendirir.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görü uygulayın. Görsel yapay zekâ, daha akıllı yollar için yol güvenliğini, sürücü yardımını ve araç otomasyonunu geliştirir.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görsel yapay zekâ taşıyın. Daha yüksek ve akıllı verim için ürün izlemeye, hayvan takibine ve hassas tarıma güç verin.
Daha fazla bilgi edin

Yapay zekânın geleceğini birlikte inşa edelim!

Makine öğreniminin geleceğiyle yolculuğuna başla