YOLO Vision 2026:
Entegrasyonlar

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

Ultralytics'in Ultralytics YOLOv5 model optimizasyonu için Comet ile nasıl ortaklık kurduğunu keşfet: gerçek zamanlı takip, akıcı iş birliği ve artırılmış tekrarlanabilirlik.

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

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.

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

Comet; modellerini, veri setlerini ve metriklerini takip etmek için güçlü bir araçtır. Hatta her bir çalıştırma için tekrarlanabilirliği ve sorunsuz hata ayıklamayı garantilemek amacıyla sistem ve ortam değişkenlerini günlüğe kaydeder. Tıpkı hangi notların saklanacağını sihirli bir şekilde bilen sanal bir asistanınızın olması gibidir. Model metriklerini gerçek zamanlı olarak takip et ve görselleştir, hiperparametrelerini, veri setlerini ve model kontrol noktalarını kaydet ve model tahminlerini Comet Custom Panels ile görselleştir!

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

YOLOv5, bilgisayarla görü yolculuğun için harika bir başlangıç noktasıdır. Modelinin performansını artırmak ve onu üretime hazır hale getirmek için sonuçları Comet gibi bir deney takip aracında günlüğe kaydetmen gerekir.

Comet ve YOLOv5 entegrasyonu 3 ana özellik sunar:

  • Otomatik kayıt ve özel kayıt özellikleri
  • Hata ayıklama ve tekrarlanabilirlik için veri kümelerini ve modelleri yapay nesneler (artifacts) olarak kaydetme
  • Görünümünü Comet'in özel panelleriyle düzenleme

Bu rehber, YOLOv5'i Comet ile nasıl kullanacağını ele alacak.

Deneylerini gerçek zamanlı olarak takip etmeye hazır mısın? Hadi başlayalım!

Başlarken#

Comet'i yükle#

pip install comet_ml

Comet kimlik bilgilerini yapılandır#

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

Kimlik bilgilerini ya ortam değişkenleri aracılığıyla ayarlayabilirsin ya da çalışma dizininde bir .comet.config dosyası oluşturup kimlik bilgilerini orada belirleyebilirsin.

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'

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

İşte bu kadar!

Comet; hiperparametrelerini, komut satırı argümanlarını, eğitim ve doğrulama metriklerini otomatik olarak kaydeder. Çalışmalarını Comet arayüzünde görselleştirebilir ve analiz edebilirsin.

Experiments with YOLOv5 in Comet Dashboard

Kendin dene!#

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

Ya da daha iyisi, bu Colab Notebook içinde kendin dene.

Otomatik Olarak Kaydet#

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

Metrikler#

  • Eğitim ve doğrulama verileri için Box Loss, Object Loss ve Classification Loss
  • 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çenekleriyle iletilen tüm parametreler

Görselleştirmeler#

  • Doğrulama verileri üzerindeki model tahminlerinin Confusion Matrix'i
  • Tüm sınıflar için PR ve F1 eğrileri grafikleri
  • Sınıf Etiketlerinin Korelogramı

Comet Kaydını Yapılandır#

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 eğitim betiğine save-period argümanını ilet. Bu, 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

Model Tahminlerini Kaydetme#

Varsayılan olarak, model tahminleri (görseller, gerçek etiketler ve sınırlayıcı kutular) Comet'e kaydedilir. Kaydedilen tahminlerin ve ilişkili görsellerin sıklığını bbox_interval komut satırı argümanını ileterek 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'nci veri grubunu kaydediyoruz.

Not: YOLOv5 doğrulama veri yükleyicisi varsayılan olarak 32'lik bir yığın boyutuna (batch size) sahip olacaktır, bu nedenle kayıt sıklığını buna göre ayarlaman gerekecektir.

İşte Paneli kullanan örnek bir proje.

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

Comet'e Kaydedilen Tahmin Görseli Sayısını Kontrol Etme#

YOLOv5'ten tahminleri kaydederken, Comet her tahmin setiyle ilişkili görselleri kaydeder. Varsayılan olarak, en fazla 100 doğrulama görseli 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üzeyinde Metrikleri Kaydetme#

Her sınıf için mAP, precision, recall ve f1 değerlerini kaydetmek için 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 istiyorsan, upload_dataset bayrağını kullanarak bunu yapabilirsin.

Veri seti, YOLOv5 belgelerinde açıklandığı şekilde düzenlenmiştir. Veri seti yapılandırma yaml dosyası, coco128.yaml dosyasıyla aynı formatı izlemelidir.

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ındaki Artifacts sekmesinde bulabilirsin.

Comet Artifacts Tab, YOLOv5

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

Preview data in Comet, YOLOv5

Artifacts sürümlüdür ve veri kümesi hakkında meta veri eklemeyi de destekler. Comet, veri kümesi yaml dosyanızdaki meta verileri otomatik olarak kaydeder.

Log metadata from YAML file in Comet, YOLOv5

Kaydedilmiş bir Artifact Kullanma#

Comet Artifacts'ten bir veri kümesi kullanmak istersen, veri kümesi yaml dosyanızdaki yol değişkenini aşağıdaki Artifact kaynak URL'sini işaret edecek ş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 şu şekilde ilet:

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

Artifacts ayrıca verilerin Deney iş akışınız boyunca akarken izlenebilirliğini takip etmenize olanak tanır. Burada, yüklediğiniz veri kümesini kullanan tüm deneyleri gösteren bir grafik görebilirsin.

Comet experimentation workflow, YOLOv5

Bir Eğitim Çalışmasını Sürdürme#

Eğitim çalışman herhangi bir nedenle kesintiye uğrarsa (örneğin internet bağlantısının kesilmesi), resume bayrağını ve Comet Çalışma Yolunu (Run Path) kullanarak çalışmayı sürdürebilirsin.

Çalıştırma Yolu şu formata sahiptir: comet://<your workspace name>/<your project name>/<experiment id>.

Bu, çalışmayı kesintiden önceki durumuna geri yükleyecektir; buna modeli bir kontrol noktasından geri yükleme, tüm hiperparametreleri ve eğitim argümanlarını geri yükleme ve orijinal çalışmada kullanılmışlarsa Comet veri kümesi Artifacts'lerini indirme dahildir. Sürdürülen çalışma, Comet arayüzünde mevcut Deneye kayıt yapmaya devam edecektir.

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

Comet Optimizer ile Hiperparametre Araması#

YOLOv5, Comet'in Optimizer aracıyla da entegredir ve bu da Comet arayüzünde hiperparametre taramalarını görselleştirmeyi basit hale getirir.

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

Comet Optimizer'ı yapılandırmak için tarama hakkında bilgilerin yer aldığı bir JSON dosyası oluşturman gerekecektir.

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ı argümanları kabul eder. Taramanıza ek argümanlar 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

Paralel Olarak Tarama Çalıştırma#

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

Comet, tarama sonuçlarını görselleştirmek için birçok yol sunar. Tamamlanmış bir taramaya sahip projeye buradan göz at:

Visualize sweep results in Comet, YOLOv5

İletişimde Kal#

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

Ve tabii ki Ultralytics Community üyesi ol – YOLOv5 eğitimi, doğrulaması ve dağıtımı hakkında sorular sorabileceğin ve ipuçları paylaşabileceğin bir yer.

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