YOLO Vision 2026:
Entegrasyonlar

ClearML Kullanarak Ultralytics YOLOv5'i Uzaktan Eğit ve İzle

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

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

Ultralytics olarak, YOLOv5 gibi harika açık kaynaklı araçlarımızın herkes için ücretsiz kalmasını sağlamak amacıyla, bunların araştırma ve geliştirme süreçlerini finanse etmemize yardımcı olmaları için diğer girişimlerle ticari ortaklıklar yapıyoruz. Bu makale, söz konusu ortaklara ilişkin bağlı kuruluş bağlantıları içerebilir.

ClearML en yeni iş ortağımızdır: sana zaman kazandırmak için tasarlanmış open-source bir araç setidir.

ML benimsenmesini hızlandırma misyonuyla ClearML, ML'i piyasadaki herhangi bir Yazılım ve Donanım ürününe entegre etmeyi sorunsuz hale getirir.

Bu entegrasyon, bir YOLOv5 modeli eğitmeni ve bunu otomatik olarak takip etmek için ClearML deney yöneticisini kullanmanı daha da kolaylaştırır. Veri girişi olarak kolayca bir ClearML veri seti sürüm kimliği belirtebilirsin ve bu, modelini eğitmek için otomatik olarak kullanılacaktır.

Deney İzleme Sürecini Bir Üst Seviyeye Taşı#

  • Her YOLOv5 eğitim sürecini deney yöneticisinde izle.
  • Entegre ClearML Veri Sürümleme Aracı ile özel eğitim verilerini sürümle ve bunlara kolayca eriş.
  • ClearML Hiperparametre Optimizasyonu kullanarak en iyi mAP değerini elde et.
  • ClearML Serving kullanarak sadece birkaç komutla yeni eğittiğin YOLOv5 modelini bir API'ye dönüştür.

Bu araçlardan kaçını kullanmak istediğin sana kalmış; sadece deney yöneticisine bağlı kalabilir veya hepsini bir araya getirerek etkileyici bir boru hattı oluşturabilirsin.

Kurulum#

Deneylerini ve verilerini takip etmek için ClearML'in bir sunucuyla iletişim kurması gerekir. Bunun için iki seçeneğin var: ya ClearML Barındırılan Hizmetine ücretsiz olarak kaydol ya da kendi sunucunu kur, şuraya bak: ClearML Server deployment docs.

Sunucu bile açık kaynaklıdır, bu yüzden hassas verilerle uğraşıyorsan bu hiç sorun değil!

  1. clearml python paketini yükle: pip install clearml
  2. kimlik bilgileri oluşturarak (sağ üstten Ayarlar → Çalışma Alanı → Yeni kimlik bilgileri oluştur'a git) ClearML SDK'yı sunucuya bağla, ardından aşağıdaki komutu çalıştır ve talimatları takip et: clearml-init

Ve voilà! Başlamaya hazırsın...

ClearML ile YOLOv5 Eğitimi#

ClearML deney izlemeyi etkinleştirmek için ClearML pip paketini kurman yeterli.

pip install clearml

Bu, YOLOv5 eğitim betiği ile entegrasyonu etkinleştirecektir. Bundan sonraki her eğitim çalışması ClearML deney yöneticisi tarafından yakalanacak ve saklanacaktır. project_name veya task_name değerini değiştirmek istiyorsan, bunu 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

Bu şunları yakalayacaktır:

  • Kaynak kodu + commit edilmemiş değişiklikler
  • Kurulu paketler
  • (Hiper)parametreler
  • Model dosyaları (her n epokta bir kontrol noktası kaydetmek için --save-period n kullan)
  • Konsol çıktısı
  • Skaler değerler (mAP_0.5, mAP_0.5:0.95, kesinlik, duyarlılık, kayıplar, öğrenme oranları, ...)
  • Makine detayları, çalışma süresi, oluşturulma tarihi vb. gibi genel bilgiler.
  • Etiket korelogramı ve karmaşıklık matrisi gibi üretilen tüm grafikler
  • Her epok için sınırlayıcı kutulara sahip görüntüler
  • Her epok için mozaik
  • Her epok için doğrulama görüntüleri

Fena değil! Şimdi, eğitim sürecimize genel bir bakış elde etmek için tüm bu bilgileri ClearML arayüzünde görselleştirebiliriz. Tablo görünümüne özel sütunlar (örneğin mAP_0.5 gibi) ekle, böylece en iyi performans gösteren modele kolayca göre sıralama yapabilirsin. Veya birden fazla deney seçip bunları doğrudan karşılaştırabilirsin!

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

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

Verilerini kodundan ayrı olarak sürümlemek genellikle iyi bir fikirdir ve en son sürüme ulaşmayı da kolaylaştırır. Bu depo, bir veri kümesi sürüm kimliği sağlamayı destekler ve mevcut değilse veriyi alacağından emin olur. Bunun yanı sıra, bu iş akışı kullanılan veri kümesi kimliğini görev parametrelerinin bir parçası olarak kaydeder, böylece hangi deneyde hangi verinin kullanıldığından her zaman emin olursun!

Veri Kümeni Hazırla#

YOLOv5 deposu, bilgilerini içeren YAML dosyalarını kullanarak birçok farklı veri kümesini destekler. Varsayılan olarak, veri kümeleri depo kök klasörüne göre ../datasets klasörüne indirilir. Yani eğer YAML'deki bağlantıyı veya yolov5 tarafından sağlanan betikleri kullanarak coco128 veri kümesini indirdiysen, şu klasör yapısını elde edersin:

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

Ancak bu istediğin herhangi bir veri kümesi olabilir. Bu klasör yapısına sadık kaldığın sürece kendininkini kullanmakta özgürsün.

Ardından, ⚠️ilgili YAML dosyasını veri kümesi klasörünün köküne kopyala⚠️. Bu YAML dosyaları, ClearML'in veri kümesini düzgün bir şekilde kullanması için ihtiyaç duyacağı bilgileri içerir. Bunu kendin de yapabilirsin elbette, sadece örnek YAML'lerin yapısını takip et.

Temelde ş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ümü alınmış bir veri kümesi olarak ClearML'e almak için, veri kümesi kök klasörüne git ve şu komutu çalıştır:

cd coco128

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

clearml-data sync komutu aslında kısa yol bir komuttur. Bu komutları arka arkaya 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

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

Artık bir ClearML veri kümen olduğuna göre, onu özel YOLOv5 modellerini eğitmek için çok basit bir şekilde kullanabilirsin.

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

Hiperparametre Optimizasyonu#

Deneylerimiz ve veri sürümümüz elimizde olduğuna göre, üzerine neler inşa edebileceğimize bakma zamanı!

Kod bilgisi, kurulu paketler ve ortam detayları kullanılarak, deneyin kendisi artık tamamen tekrarlanabilir. Aslında ClearML, bir deneyi kopyalamana ve hatta parametrelerini değiştirmene olanak tanır. Daha sonra bunu yeni parametrelerle otomatik olarak yeniden çalıştırabiliriz, HPO'nun yaptığı temel olarak budur!

Hiperparametre optimizasyonunu yerel olarak çalıştırmak için senin için önceden hazırlanmış bir betik dahil ettik. Sadece bir eğitim görevinin en az bir kez çalıştırıldığından emin ol, böylece ClearML deney yöneticisinde yer alır; aslında onu kopyalayıp hiperparametrelerini değiştireceğiz.

utils/loggers/clearml/hpo.py adresinde bulunan betikte bu şablon görevin kimliğini doldurman gerekecek ve ardından sadece çalıştırman yeterlidir. Onu bir ClearML kuyruğuna koymak ve bunun yerine uzak bir ajanı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 Yürütme (Gelişmiş)#

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 olur? Belki yerinde çok güçlü bir GPU makinesine erişimin vardır veya bulut GPU'larını kullanmak için bir bütçen vardır. İşte ClearML Agent'ın devreye girdiği yer burasıdır.

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

Kısacası: deney yöneticisi tarafından izlenen her deney, onu farklı bir makinede yeniden üretmek için yeterli bilgiyi içerir (kurulu paketler, commit edilmemiş değişiklikler vb.). Dolayısıyla bir ClearML agent tam olarak bunu yapar: gelen görevler için bir kuyruğu dinler ve bir tane bulduğunda, ortamı yeniden oluşturur ve skaler değerleri, grafikleri vb. deney yöneticisine raporlamaya devam ederken onu çalıştırır.

Herhangi bir makineyi (bulut sanal makinesi, yerel GPU makinesi, kendi dizüstü bilgisayarın) sadece şunu çalıştırarak bir ClearML agent'a dönüştürebilirsin:

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

Klonlama, Düzenleme ve Kuyruğa Alma#

Agent'ımız çalışırken ona biraz iş verebiliriz. HPO bölümünden bir görevi kopyalayıp hiperparametreleri düzenleyebileceğimizi hatırlıyor musun? Bunu arayüzden de yapabiliriz!

🪄 Deneye sağ tıklayarak klonla

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

⏳ Göreve sağ tıklayarak onu istediğin kuyruğa al

Bir Görevi Uzaktan Yürütme#

Artık yukarıda açıkladığımız gibi bir görevi klonlayabilirsin veya sadece task.execute_remotely() ekleyerek mevcut betiğini işaretleyebilirsin ve çalıştırıldığında, ajanın üzerinde çalışmaya başlaması için bir kuyruğa konulacaktır!

YOLOv5 eğitim betiğini uzaktan çalıştırmak için tek yapman gereken, ClearML günlükçüsü oluşturulduktan 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

Herhangi bir sorun mu var? Join our community ve sorunu bugün bırak!

Explore solutions

Real-time AI that works with your team

Robotikte AI

Daha akıllı makineleri Ultralytics YOLO modelleriyle destekle. Robotikteki Vision AI; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü yönlendirir.
Daha fazla bilgi edin
Real-time AI that works with your team

Lojistikte Yapay Zeka

Ultralytics YOLO modelleri ile lojistiği kolaylaştır. Görü Yapay Zekası; paket inceleme, ayıklama, araç takibi ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Real-time AI that works with your team

Perakendede AI

Perakendeyi Ultralytics YOLO modelleri ile yeniden hayal et. Görü Yapay Zekası; envanter takibi, raf izleme, sıra yönetimi ve daha akıllı müşteri içgörüleri sağlar.
Daha fazla bilgi edin
Real-time AI that works with your team

Sağlıkta Yapay Zeka

Ultralytics YOLO modelleriyle sağlık çözümleri oluştur. Sağlıkta görüntü tabanlı yapay zeka; daha hızlı tıbbi görüntülemeyi, daha akıllı teşhisleri ve hasta izlemeyi güçlendirir.
Daha fazla bilgi edin
Real-time AI that works with your team

Üretimde Yapay Zeka

Ultralytics YOLO modelleri ile üretimi optimize et. Görü Yapay Zekası; kalite kontrol, kusur tespiti, KKD uyumu ve montaj hattı otomasyonunu yönlendirir.
Daha fazla bilgi edin
Real-time AI that works with your operation

Otomotivde yapay zeka

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görü uygula. Görüntü tabanlı yapay zeka; yol güvenliğini, sürücü yardımını ve araç otomasyonunu daha akıllı yollar için geliştirir.
Daha fazla bilgi edin
Real-time AI tailored to your operation

Tarımda yapay zeka

Ultralytics YOLO modelleriyle akıllı tarıma görüntü tabanlı yapay zeka getir. Daha yüksek ve akıllı verimler için mahsul takibini, hayvancılık izlemeyi ve hassas tarımı güçlendir.
Daha fazla bilgi edin
Real-time AI that works with your team

Robotikte AI

Daha akıllı makineleri Ultralytics YOLO modelleriyle destekle. Robotikteki Vision AI; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü yönlendirir.
Daha fazla bilgi edin
Real-time AI that works with your team

Lojistikte Yapay Zeka

Ultralytics YOLO modelleri ile lojistiği kolaylaştır. Görü Yapay Zekası; paket inceleme, ayıklama, araç takibi ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Real-time AI that works with your team

Perakendede AI

Perakendeyi Ultralytics YOLO modelleri ile yeniden hayal et. Görü Yapay Zekası; envanter takibi, raf izleme, sıra yönetimi ve daha akıllı müşteri içgörüleri sağlar.
Daha fazla bilgi edin
Real-time AI that works with your team

Sağlıkta Yapay Zeka

Ultralytics YOLO modelleriyle sağlık çözümleri oluştur. Sağlıkta görüntü tabanlı yapay zeka; daha hızlı tıbbi görüntülemeyi, daha akıllı teşhisleri ve hasta izlemeyi güçlendirir.
Daha fazla bilgi edin
Real-time AI that works with your team

Üretimde Yapay Zeka

Ultralytics YOLO modelleri ile üretimi optimize et. Görü Yapay Zekası; kalite kontrol, kusur tespiti, KKD uyumu ve montaj hattı otomasyonunu yönlendirir.
Daha fazla bilgi edin
Real-time AI that works with your operation

Otomotivde yapay zeka

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görü uygula. Görüntü tabanlı yapay zeka; yol güvenliğini, sürücü yardımını ve araç otomasyonunu daha akıllı yollar için geliştirir.
Daha fazla bilgi edin
Real-time AI tailored to your operation

Tarımda yapay zeka

Ultralytics YOLO modelleriyle akıllı tarıma görüntü tabanlı yapay zeka getir. Daha yüksek ve akıllı verimler için mahsul takibini, hayvancılık izlemeyi ve hassas tarımı güçlendir.
Daha fazla bilgi edin
Real-time AI that works with your team

Robotikte AI

Daha akıllı makineleri Ultralytics YOLO modelleriyle destekle. Robotikteki Vision AI; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü yönlendirir.
Daha fazla bilgi edin
Real-time AI that works with your team

Lojistikte Yapay Zeka

Ultralytics YOLO modelleri ile lojistiği kolaylaştır. Görü Yapay Zekası; paket inceleme, ayıklama, araç takibi ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Real-time AI that works with your team

Perakendede AI

Perakendeyi Ultralytics YOLO modelleri ile yeniden hayal et. Görü Yapay Zekası; envanter takibi, raf izleme, sıra yönetimi ve daha akıllı müşteri içgörüleri sağlar.
Daha fazla bilgi edin
Real-time AI that works with your team

Sağlıkta Yapay Zeka

Ultralytics YOLO modelleriyle sağlık çözümleri oluştur. Sağlıkta görüntü tabanlı yapay zeka; daha hızlı tıbbi görüntülemeyi, daha akıllı teşhisleri ve hasta izlemeyi güçlendirir.
Daha fazla bilgi edin
Real-time AI that works with your team

Üretimde Yapay Zeka

Ultralytics YOLO modelleri ile üretimi optimize et. Görü Yapay Zekası; kalite kontrol, kusur tespiti, KKD uyumu ve montaj hattı otomasyonunu yönlendirir.
Daha fazla bilgi edin
Real-time AI that works with your operation

Otomotivde yapay zeka

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görü uygula. Görüntü tabanlı yapay zeka; yol güvenliğini, sürücü yardımını ve araç otomasyonunu daha akıllı yollar için geliştirir.
Daha fazla bilgi edin
Real-time AI tailored to your operation

Tarımda yapay zeka

Ultralytics YOLO modelleriyle akıllı tarıma görüntü tabanlı yapay zeka getir. Daha yüksek ve akıllı verimler için mahsul takibini, hayvancılık izlemeyi ve hassas tarımı güçlendir.
Daha fazla bilgi edin

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

Yolculuğuna makine öğreniminin geleceğiyle başla