YOLO Vision 2025'i kaçırmayın!
25 Eylül 2025
10:00 — 18:00 BST
Hibrit etkinlik
Yolo Vision 2024

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

Ultralytics Ekibi

5 dakikalık okuma

11 Ekim 2022

Ultralytics'in Ultralytics YOLOv5 model optimizasyonu için Comet ile nasıl ortaklık kurduğunu keşfedin: gerçek zamanlı izleme, kolaylaştırılmış işbirliği ve gelişmiş tekrarlanabilirlik.

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

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

Comet, modellerinizi, veri kümelerinizi ve metriklerinizi izlemek için güçlü bir araçtır. Hatta her çalıştırma için yeniden üretilebilirlik ve sorunsuz hata ayıklama sağlamak amacıyla sisteminizi ve ortam değişkenlerinizi günlüğe kaydeder. Notları hangi notların tutulacağını sihirli bir şekilde bilen sanal bir asistana sahip olmak gibi. Model metriklerini gerçek zamanlı olarak izleyin ve görselleştirin, hiperparametrelerinizi, veri kümelerinizi ve model kontrol noktalarınızı kaydedin ve model tahminlerinizi Comet Özel Panelleri ile görselleştirin!

Ayrıca, Comet çalışmanızı asla kaybetmemenizi sağlar ve sonuçları paylaşmayı ve her boyuttaki ekiplerle işbirliği yapmayı kolaylaştırır!

YOLOv5, bilgisayar görüşü yolculuğunuz için harika bir başlangıç noktasıdır. Modelinizin performansını artırmak ve üretime hazır hale getirmek için, sonuçları Comet gibi bir deney izleme aracında kaydetmeniz gerekir.

Comet ve YOLOv5 entegrasyonu 3 ana özellik sunar:

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


Bu kılavuz, YOLOv5'in Comet ile nasıl kullanılacağını kapsayacaktır.

Peki, deneylerinizi gerçek zamanlı olarak izlemeye hazır mısınız? Haydi başlayalım!

Başlangıç

1. Comet'i Kurun

Pip install comet_ml

2. Comet Kimlik Bilgilerini Yapılandırın

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

Kimlik bilgilerinizi ortam değişkenleri aracılığıyla ayarlayabilir veya çalışma dizininizde bir .comet.config dosyası oluşturup kimlik bilgilerinizi orada ayarlayabilirsiniz.


Ortam Değişkenleri

export COMET_API_KEY=export COMET_PROJECT_NAME= # Bu varsayılan olarak 'yolov5' olacaktır


Comet Yapılandırma Dosyası

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

3. Eğitim Script'ini Çalıştırın

# COCO128 üzerinde 5 epoch için YOLOv5s'i eğitinpython train.py --img 640 --batch 16 --epochs 5 --data coco128.yaml --weights yolov5s.pt

Bu kadar!

Comet, hiperparametrelerinizi, komut satırı argümanlarınızı, eğitim ve doğrulama metriklerinizi otomatik olarak kaydeder. Çalışmalarınızı Comet UI'da görselleştirebilir ve analiz edebilirsiniz.

Comet Dashboard'da YOLOv5 ile Deneyler

Kendiniz Deneyin!

Burada tamamlanmış bir çalıştırma örneğine göz atın.

Ya da daha iyisi, bu Colab Not Defteri'nde kendiniz deneyin.

Otomatik Olarak Günlüğe Kaydet

Varsayılan olarak, Comet aşağıdaki öğeleri günlüğe kaydedecektir:

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 Kesinlik ve Geri Çağırma

Parametreler

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

Görselleştirmeler

  • Model tahminlerinin doğrulama verileri üzerindeki Karışıklık Matrisi
  • Tüm sınıflar için PR ve F1 eğrileri grafikleri
  • Sınıf Etiketlerinin Korelogramı

Comet Günlüğünü Yapılandır

Comet, eğitim komut dosyasına veya ortam değişkenlerine iletilen komut satırı işaretleri aracılığıyla ek verileri günlüğe kaydetmek için yapılandırılabilir.

export COMET_MODE=online # Comet'in 'online' veya 'offline' modda çalıştırılıp çalıştırılmayacağını ayarlayın. Varsayılan olarak online'dır. export COMET_MODEL_NAME= #Kaydedilen model için adı ayarlayın. Varsayılan olarak yolov5'tir export COMET_LOG_CONFUSION_MATRIX=false # Comet Karışıklık Matrisi günlüğünü devre dışı bırakmak için ayarlayın. Varsayılan olarak true'dur export COMET_MAX_IMAGE_UPLOADS= # Comet'e kaç adet toplam görüntü tahmini günlüğe kaydedileceğini kontrol eder. Varsayılan olarak 100'dür. export COMET_LOG_PER_CLASS_METRICS=true # Eğitim sonunda algılanan her sınıf için değerlendirme metriklerini günlüğe kaydetmek için ayarlayın. Varsayılan olarak false'dur export COMET_DEFAULT_CHECKPOINT_FILENAME= # Farklı bir kontrol noktasından eğitime devam etmek isterseniz bunu ayarlayın. Varsayılan olarak 'last.pt'dir export COMET_LOG_BATCH_LEVEL_METRICS=true # Eğitim metriklerini toplu iş düzeyinde günlüğe kaydetmek isterseniz bunu ayarlayın. Varsayılan olarak false'dur. export COMET_LOG_PREDICTIONS=true # Model tahminlerinin günlüğe kaydedilmesini devre dışı bırakmak için bunu false olarak ayarlayın

Comet ile Kontrol Noktalarını Günlüğe Kaydetme

Modelleri Comet'e kaydetme varsayılan olarak devre dışıdır. Etkinleştirmek için, eğitim komut dosyasına save-period argümanını iletin. Bu, günlüğe kaydedilen kontrol noktalarını, save-period tarafından sağlanan aralık değerine göre Comet'e kaydedecektir.

python train.py \

--img 640 \

--batch 16 \

--epochs 5 \

--data coco128.yaml \

--weights yolov5s.pt \

--save-period 1

Modelleri Comet'e Günlüğe Kaydetme varsayılan olarak devre dışıdır. Etkinleştirmek için, kaydetme aralığı argümanını eğitim komut dosyasına iletin. Bu, günlüğe kaydedilen kontrol noktalarını, kaydetme aralığı tarafından sağlanan aralık değerine göre Comet'e kaydedecektir.

python train.py \

--img 640 \

--batch 16 \

--epochs 5 \

--data coco128.yaml \

--weights yolov5s.pt \

--save-period 1

Varsayılan olarak, model tahminleri (görüntüler, temel doğruluk etiketleri ve sınırlayıcı kutular) Comet'e kaydedilecektir. bbox_interval komut satırı argümanını ileterek, günlüğe kaydedilen tahminlerin sıklığını ve ilgili görüntüleri kontrol edebilirsiniz. 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 günlüğe kaydediyoruz.

Not: YOLOv5 doğrulama veri yükleyicisi varsayılan olarak 32'lik bir batch boyutuna ayarlanacaktır, bu nedenle günlük kaydı sıklığını buna göre ayarlamanız gerekecektir.

İşte Panel kullanan bir örnek proje.

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ı Kontrol Etme

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

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

Sınıf Seviyesi Metriklerini Günlüğe Kaydetme

Her sınıf için mAP, kesinlik, geri çağırma ve f1 değerlerini kaydetmek için COMET_LOG_PER_CLASS_METRICS ortam değişkenini kullanın.

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

Verilerinizi Comet Artifacts kullanarak saklamak isterseniz, upload_dataset işaretini kullanarak bunu yapabilirsiniz.

Veri kümesi, YOLOv5 belgelerinde açıklanan şekilde düzenlenmiştir. Veri kümesi yapılandırma yaml dosyasının coco128.yaml dosyasıyla aynı biçimde olması gerekir.

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

Yüklenen veri kümesini Comet Çalışma Alanınızdaki Artifacts sekmesinde bulabilirsiniz

Comet Artifacts Sekmesi, YOLOv5

Verileri doğrudan Comet UI'da önizleyebilirsiniz.

Comet'te, YOLOv5'te verileri önizleyin

Artifact'ler sürüm kontrollüdür ve veri kümesi hakkında meta veri eklemeyi de destekler. Comet, veri kümesi yaml dosyanızdaki meta verileri otomatik olarak günlüğe kaydeder.

Comet'te YAML dosyasından meta verileri, YOLOv5'te günlüğe kaydet

Kaydedilmiş Bir Artifact'i Kullanma

Comet Artifacts'ten bir veri kümesi kullanmak istiyorsanız, veri kümesi yaml dosyanızdaki yol değişkenini aşağıdaki Artifact kaynak URL'sini gösterecek şekilde ayarlayın.

# artifact.yaml dosyasının içeriği path: "comet:///:"

Ardından, bu dosyayı eğitim komut dosyanıza aşağıdaki şekilde aktarın:

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

Artifact'ler ayrıca, verilerin Deney iş akışınızda nasıl aktığının izlenmesini sağlar. Burada, yüklediğiniz veri kümesini kullanan tüm deneyleri gösteren bir grafik görebilirsiniz.

Comet deneme iş akışı, YOLOv5

Bir Eğitim Çalışmasına Devam Etme

Eğitiminiz herhangi bir nedenle kesintiye uğrarsa, örneğin internet bağlantısı kesilirse, devam ettirme işaretini ve Comet Çalıştırma Yolunu kullanarak eğitime devam edebilirsiniz.

Çalıştırma Yolu şu biçime sahiptir: comet://././.

Bu, çalıştırmayı kesintiden önceki durumuna geri yükleyecektir; bu, modeli bir kontrol noktasından geri yüklemeyi, tüm hiperparametreleri ve eğitim argümanlarını geri yüklemeyi ve orijinal çalıştırmada kullanılmışlarsa Comet veri kümesi Artifact'lerini indirmeyi içerir. Devam ettirilen çalıştırma, Comet UI'daki mevcut Deney'e kaydetmeye devam edecektir.

python train.py \--resume "comet://"

Comet Optimizer ile Hiperparametre Arama

YOLOv5 ayrıca Comet'in Optimizer'ı ile entegre edilmiştir ve bu da hiperparametre taramalarını Comet UI'da görselleştirmeyi kolaylaştırır.

Bir Optimizasyon Döngüsünü Yapılandırma

Comet Optimizer'ı yapılandırmak için, sweep hakkındaki bilgileri içeren bir JSON dosyası oluşturmanız gerekecektir.

Örnek bir dosya şu konumda sağlanmıştır:

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

hpo.py betiği, train.py ile aynı argümanları kabul eder. Sweep'inize ek argümanlar geçirmek isterseniz, bunları betikten sonra eklemeniz yeterlidir.

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

Paralel Sweep Çalıştırma

comet optimizer -j utils/loggers/comet/hpo.py \utils/loggers/comet/optimizer_config.json"

Comet, sweep sonuçlarınızı görselleştirmenin birçok yolunu sunar. Tamamlanmış bir sweep içeren bir projeye buradan göz atın:

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

İletişimde Kalın

YOLOv5 modellerinizi (eğitim süreçlerinden üretim izlemeye kadar) yönetmek, görselleştirmek ve optimize etmek için Comet ile entegrasyonumuzu kullanmaya başlayın.

Ve elbette, Ultralytics Topluluğu'na katılın; burası YOLOv5 eğitimi, doğrulama ve dağıtımı hakkında soru sormak ve ipuçları paylaşmak için bir yerdir.

Gelin, yapay zekanın geleceğini
birlikte inşa edelim!

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

Ücretsiz başlayın
Bağlantı panoya kopyalandı