YOLO26 ile tanış: yeni nesil görsel AI.
Ultralytics
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.

ULUltralytics Ekibi
4 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 ortağımızdır: zaman kazanmanızı sağlamak için tasarlanmış bir açık kaynaklı araç kutusu.

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 modelini eğitmeyi ve onu otomatik olarak izlemek için ClearML deney yöneticisini kullanmayı daha da basitleştirir. Veri girişi olarak kolayca bir ClearML veri kümesi sürüm kimliği belirtebilirsin; bu, modelini eğitmek için otomatik olarak kullanılacaktır.

Link to this sectionDeney İ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.

Link to this sectionKurulum#

Deneylerini ve verilerini takip edebilmen için ClearML'in bir sunucuyla iletişim kurması gerekir. Bunun için iki seçeneğin var: ya ücretsiz olarak ClearML Hosted Service'e kaydol ya da kendi sunucunu kur; detaylar için ClearML Server deployment docs sayfasına göz at.

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

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

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

Link to this sectionClearML 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 sağlayacaktır. Bundan sonraki her eğitim süreci, ClearML deney yöneticisi tarafından yakalanacak ve kaydedilecektir. project_name veya task_name değerini değiştirmek istersen, değiştirebileceğin yer olan özel logger'ımıza 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!

Link to this sectionVeri 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!

Link to this sectionVeri 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

Link to this sectionVeri 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 bir kısayol komutudur. 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

Link to this sectionBir 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

Link to this sectionHiperparametre 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.

Bu şablon görevinin kimliğini utils/loggers/clearml/hpo.py adresinde bulunan betiğe girmen ve ardından çalıştırman yeterlidir. Onu bir ClearML kuyruğuna koymak ve uzaktaki bir aracının üzerinde çalışmasını sağlamak için task.execute_locally() ifadesini 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

Link to this sectionUzaktan 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]

Link to this sectionKlonlama, 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

Link to this sectionBir Görevi Uzaktan Yürütme#

Artık yukarıda açıkladığımız gibi bir görevi kopyalayabilir veya mevcut betiğini task.execute_remotely() ekleyerek işaretleyebilirsin; yürütüldüğünde bir kuyruğa alınacak ve agent üzerinde çalışmaya başlayacaktır!

YOLOv5 eğitim betiğini uzaktan çalıştırmak için, ClearML logger örneği oluşturulduktan sonra train.py betiğine şu satırı eklemen yeterli:

# ...
# 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? Topluluğumuza katıl 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