Ultralytics YOLO27:
Entegrasyonlar

Ultralytics YOLOv5 Comet ile Nasıl Kullanılır?

Ultralytics'in Ultralytics YOLOv5 model optimizasyonu için Comet ile nasıl iş ortaklığı yaptığını keşfet: gerçek zamanlı takip, kolaylaştırılmış iş birliği ve geliştirilmiş yeniden üretilebilirlik.

NUNuvola Ladi5 min read
Ultralytics YOLOv5 model eğitimini Comet ile takip etmek

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.

En yeni iş ortağımız Comet, veri bilimcilerin, mühendislerin ve ekip liderlerinin makine öğrenimi ve derin öğrenme modellerini hızlandırmasına ve optimize etmesine yardımcı olan araçlar geliştirir.

Comet, modellerini, veri kümelerini ve metriklerini izlemek için güçlü bir araçtır. Ayrıca her çalıştırmanın yeniden üretilebilir olmasını ve sorunsuz şekilde hata ayıklanabilmesini sağlamak için sistem ve ortam değişkenlerini de kaydeder. Bu, hangi notların tutulacağını sihirli bir şekilde bilen sanal bir asistana sahip olmak gibidir. Model metriklerini gerçek zamanlı olarak izle ve görselleştir, hiperparametrelerini, veri kümelerini ve model kontrol noktalarını kaydet, model tahminlerini Comet Custom Panels ile görselleştir!

Ayrıca Comet, çalışmalarının izini asla kaybetmemenizi sağlar ve her büyüklükteki ekip arasında sonuçları paylaşmayı ve iş birliği yapmayı kolaylaştırır!

YOLOv5, bilgisayarlı görü yolculuğun için harika bir başlangıç noktasıdır. Modelinin performansını iyileştirmek ve üretime hazır hâle getirmek için sonuçları Comet gibi bir deney izleme aracına kaydetmen gerekir.

Comet ve YOLOv5 entegrasyonu 3 temel özellik sunar:

  • Otomatik kayıt ve özel kayıt özellikleri
  • Hata ayıklama ve yeniden üretilebilirlik için veri kümelerini ve modelleri yapıt olarak kaydetme
  • Comet'in özel panelleriyle görünümünü düzenleme

Bu kılavuzda YOLOv5'in Comet ile nasıl kullanılacağını ele alacağız.

Deneylerini gerçek zamanlı olarak izlemeye hazır mısın? Hemen başlayalım!

Başlarken#

1. Comet'i yükle#

pip install comet_ml

2. Comet kimlik bilgilerini yapılandır#

YOLOv5 ile Comet'i yapılandırmanın iki yolu vardır.

Kimlik bilgilerini ortam değişkenleri aracılığıyla ayarlayabilir veya çalışma dizininde bir .comet.config dosyası oluşturup kimlik bilgilerini bu dosyada ayarlayabilirsin.

Ortam Değişkenleri#

export COMET_API_KEY=<Your API Key>
export COMET_PROJECT_NAME=<Your Comet Project Name> # This will default to 'yolov5'

Comet Yapılandırma Dosyası#

[comet]
api_key=<Your API Key>
project_name=<Your Comet Project Name> # This will default to 'yolov5'

3. Eğitim betiğini çalıştır#

# Train YOLOv5s on COCO128 for 5 epochs
python train.py --img 640 --batch 16 --epochs 5 --data coco128.yaml --weights yolov5s.pt

Hepsi bu kadar!

Comet, hiperparametrelerini, komut satırı bağımsız değişkenlerini, eğitim ve doğrulama metriklerini otomatik olarak kaydeder. Çalıştırmalarını Comet kullanıcı arayüzünde görselleştirebilir ve analiz edebilirsin.

Comet Panosu'nda YOLOv5 ile deneyler

Sen de Dene!#

Tamamlanmış bir çalıştırma örneğine buradan göz at.

Daha iyisi, bu Colab Notebook'ta kendin dene.

Otomatik Olarak Kaydetme#

Comet varsayılan olarak aşağıdaki öğeleri kaydeder:

Metrikler#

  • Eğitim ve doğrulama verileri için Kutu Kaybı, Nesne Kaybı ve Sınıflandırma Kaybı
  • Doğrulama verileri için mAP_0.5, mAP_0.5:0.95 metrikleri
  • Doğrulama verileri için Precision ve Recall

Parametreler#

  • Model Hiperparametreleri
  • Komut satırı seçenekleri aracılığıyla iletilen tüm parametreler

Görselleştirmeler#

  • Modelin doğrulama verileri üzerindeki tahminlerine ait Karışıklık Matrisi
  • Tüm sınıflardaki PR ve F1 eğrilerine ait grafikler
  • Sınıf Etiketlerinin Korelogramı

Comet Kayıtlarını Yapılandırma#

Comet, eğitim betiğine iletilen komut satırı bayrakları veya ortam değişkenleri aracılığıyla ek verileri kaydedecek şekilde yapılandırılabilir.

export COMET_MODE=online # Set whether to run Comet in 'online' or 'offline' mode. Defaults to online
export COMET_MODEL_NAME=<your model name> # Set the name for the saved model. Defaults to yolov5
export COMET_LOG_CONFUSION_MATRIX=false # Set to disable logging a Comet Confusion Matrix. Defaults to true
export COMET_MAX_IMAGE_UPLOADS=<number of allowed images to upload to Comet> # Controls how many total image predictions to log to Comet. Defaults to 100.
export COMET_LOG_PER_CLASS_METRICS=true # Set to log evaluation metrics for each detected class at the end of training. Defaults to false
export COMET_DEFAULT_CHECKPOINT_FILENAME=<your checkpoint filename> # Set this if you would like to resume training from a different checkpoint. Defaults to 'last.pt'
export COMET_LOG_BATCH_LEVEL_METRICS=true # Set this if you would like to log training metrics at the batch level. Defaults to false.
export COMET_LOG_PREDICTIONS=true # Set this to false to disable logging model predictions

Kontrol Noktalarını Comet ile Kaydetme#

Modellerin Comet'e kaydedilmesi varsayılan olarak devre dışıdır. Etkinleştirmek için save-period bağımsız değişkenini eğitim betiğine ilet. Bu işlem, kaydedilen kontrol noktalarını save-period tarafından sağlanan aralık değerine göre Comet'e kaydeder.

python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt \
  --save-period 1

Model Tahminlerini Kaydetme#

Varsayılan olarak model tahminleri (görüntüler, temel gerçek etiketleri ve sınırlayıcı kutular) Comet'e kaydedilir. bbox_interval komut satırı bağımsız değişkenini ileterek kaydedilen tahminlerin ve ilişkili görüntülerin sıklığını kontrol edebilirsin. Tahminler, Comet'in Nesne Algılama Özel Paneli kullanılarak görselleştirilebilir. Bu sıklık, dönem başına her N'inci veri grubuna karşılık gelir. Aşağıdaki örnekte her dönem için her 2. veri grubunu kaydediyoruz.

Not: YOLOv5 doğrulama veri yükleyicisi varsayılan olarak 32'lik bir grup boyutu kullanır; bu nedenle kayıt sıklığını buna göre ayarlaman gerekir.

Paneli kullanan örnek bir projeye buradan ulaşabilirsin.

python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt \
  --bbox_interval 2

Comet'e Kaydedilen Tahmin Görüntülerinin Sayısını Denetleme#

YOLOv5'ten tahminleri kaydederken Comet, her tahmin kümesiyle ilişkili görüntüleri kaydeder. Varsayılan olarak en fazla 100 doğrulama görüntüsü kaydedilir. Bu sayıyı COMET_MAX_IMAGE_UPLOADS ortam değişkenini kullanarak artırabilir veya azaltabilirsin.

env COMET_MAX_IMAGE_UPLOADS=200 python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt \
  --bbox_interval 1

Sınıf Düzeyindeki Metrikleri Kaydetme#

Her sınıf için mAP, precision, recall ve f1 değerlerini kaydetmek üzere COMET_LOG_PER_CLASS_METRICS ortam değişkenini kullan.

env COMET_LOG_PER_CLASS_METRICS=true python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt

Comet Artifacts'e Veri Kümesi Yükleme#

Verilerini Comet Artifacts kullanarak depolamak istersen bunu upload_dataset bayrağıyla yapabilirsin.

Veri kümesi, YOLOv5 belgelerinde açıklanan şekilde düzenlenir. Veri kümesi yapılandırma yaml dosyası, coco128.yaml dosyasıyla aynı biçimi izlemelidir.

python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt \
  --upload_dataset

Yüklenen veri kümesini Comet Workspace'inin Artifacts sekmesinde bulabilirsin

Comet Artifacts Sekmesi, YOLOv5

Verileri doğrudan Comet kullanıcı arayüzünde önizleyebilirsin.

Comet'te verileri önizleme, YOLOv5

Artifacts sürümlendirilir ve veri kümesi hakkında meta veriler eklenmesini de destekler. Comet, veri kümesinin yaml dosyasındaki meta verileri otomatik olarak kaydeder.

Comet'te YAML dosyasından meta verileri kaydetme, YOLOv5

Kaydedilmiş Bir Artifact'i Kullanma#

Comet Artifacts'ten bir veri kümesi kullanmak istiyorsan veri kümesi yaml dosyasındaki path değişkenini aşağıdaki Artifact kaynak URL'sini gösterecek şekilde ayarla.

# contents of artifact.yaml file
path: "comet://<workspace name>/<artifact name>:<artifact version or alias>"

Ardından bu dosyayı eğitim betiğine aşağıdaki şekilde ilet:

python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data artifact.yaml \
  --weights yolov5s.pt

Artifacts, veriler Deney sürecinden geçerken veri soyunu izlemeni de sağlar. Burada, yüklediğin veri kümesini kullanmış tüm deneyleri gösteren bir grafik görebilirsin.

Comet deney süreci, YOLOv5

Bir Eğitim Çalıştırmasına Devam Etme#

Eğitim çalıştırman herhangi bir nedenle, örneğin internet bağlantısının kesilmesi nedeniyle kesintiye uğrarsa resume bayrağını ve Comet Run Path'i kullanarak çalıştırmaya devam edebilirsin.

Run Path şu biçimdedir: comet://<your workspace name>/<your project name>/<experiment id>.

Bu işlem, kontrol noktasındaki modeli geri yüklemeyi, tüm hiperparametreleri ve eğitim bağımsız değişkenlerini geri yüklemeyi ve ilk çalıştırmada kullanılmışsa Comet veri kümesi Artifacts'lerini indirmeyi de içeren şekilde çalıştırmayı kesintiden önceki durumuna geri getirir. Devam ettirilen çalıştırma, Comet kullanıcı arayüzündeki mevcut Experiment'e kayıt yapmayı sürdürür.

python train.py \
  --resume "comet://<your run path>"

Comet Optimizer ile Hiperparametre Araması#

YOLOv5, Comet'in Optimizer'ı ile de entegredir ve hiperparametre taramalarını Comet kullanıcı arayüzünde görselleştirmeyi kolaylaştırır.

Bir Optimizer Taramasını Yapılandırma#

Comet Optimizer'ı yapılandırmak için tarama bilgilerini içeren bir JSON dosyası oluşturman gerekir.

utils/loggers/comet/optimizer_config.json içinde örnek bir dosya sağlanmıştır.

python utils/loggers/comet/hpo.py \
  --comet_optimizer_config "utils/loggers/comet/optimizer_config.json"

hpo.py betiği, train.py ile aynı bağımsız değişkenleri kabul eder. Taramana ek bağımsız değişkenler iletmek istersen bunları betikten sonra eklemen yeterlidir.

python utils/loggers/comet/hpo.py \
  --comet_optimizer_config "utils/loggers/comet/optimizer_config.json" \
  --save-period 1 \
  --bbox_interval 1

Bir Taramayı Paralel Olarak Çalıştırma#

comet optimizer -j <num_workers> utils/loggers/comet/hpo.py \
  utils/loggers/comet/optimizer_config.json

Comet, taramanın sonuçlarını görselleştirmek için birçok yol sunar. Tamamlanmış bir taramanın bulunduğu projeye buradan göz at:

Comet'te tarama sonuçlarını görselleştirme, YOLOv5

İletişimde Kal#

YOLOv5 modellerini eğitim çalıştırmalarından üretim izlemeye kadar yönetmek, görselleştirmek ve optimize etmek için Comet entegrasyonumuzu kullanmaya başla.

Ayrıca elbette, YOLOv5 eğitimi, doğrulaması ve dağıtımı hakkında sorular sormak ve ipuçları paylaşmak için Ultralytics Community'ye katıl.

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