Yeşil çek
Panoya kopyalanan bağlantı

Ultralytics YOLOv5 İle Nasıl Kullanılır Comet

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

Ultralytics olarak, YOLOv5 gibi harika açık kaynak araçlarımızın araştırma ve geliştirmesini finanse etmemize yardımcı olmak ve bunları herkes için ücretsiz tutmak için diğer girişimlerle ticari ortaklıklar kuruyoruz. Bu makale, bu ortaklara bağlı bağlantılar içerebilir.

En yeni ortağımız, Cometveri 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 modellerinizi, veri kümelerinizi ve metriklerinizi izlemek için güçlü bir araçtır. Her çalıştırmada tekrarlanabilirlik ve sorunsuz hata ayıklama sağlamak için sisteminizi ve ortam değişkenlerinizi bile günlüğe kaydeder. Hangi notları tutması gerektiğini sihirli bir şekilde bilen sanal bir asistana sahip olmak gibi. Model metriklerini gerçek zamanlı olarak takip edin ve görselleştirin, hiperparametrelerinizi, veri kümelerinizi ve model kontrol noktalarınızı kaydedin ve Comet Özel Paneller ile model tahminlerinizi görselleştirin!

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

YOLOv5 bilgisayarla görme yolculuğunuz için harika bir başlangıç noktasıdır. Modelinizin performansını iyileştirmek ve üretime hazır hale getirmek için sonuçları aşağıdaki gibi bir deney izleme aracına kaydetmeniz gerekir Comet.

Comet ve YOLOv5 entegrasyonu 3 ana özellik sunmaktadır:

  • Otomatik günlük kaydı ve özel günlük kaydı özellikleri
  • Hata ayıklama ve yeniden üretilebilirlik için veri kümelerini ve modelleri artifakt olarak kaydetme
  • Görünümünüzü Comet'un özel panelleri ile düzenleme


Bu kılavuzda YOLOv5 adresinin Comet ile nasıl kullanılacağı anlatılmaktadır.

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

Başlarken

1. Kurulum Comet

Pip install comet_ml

2. Comet Kimlik Bilgilerini Yapılandırma

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

Kimlik bilgilerinizi ortam değişkenleri aracılığıyla ayarlayabilir ya da çalışma dizininizde bir .comet.config dosyası oluşturabilir ve kimlik bilgilerinizi burada 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 Komut Dosyasını Çalıştırın

# Train YOLOv5s on COCO128 for 5 epochspython 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 günlüğe kaydeder. Çalışmalarınızı Comet kullanıcı arayüzünde görselleştirebilir ve analiz edebilirsiniz.

Comet Dashboard'da YOLOv5 ile Deneyler

Kendiniz Deneyin!

Tamamlanmış bir çalışma örneğine buradan göz atın.

Ya da daha iyisi, bu Colab Notebook'ta kendiniz deneyin.

Otomatik Günlük

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

Metrikler

  • Eğitim ve doğrulama verileri için Kutu Kaybı, Nesne Kaybı ve Sınıflandırma Kaybı
  • mAP_0.5, mAP_0.5:0.95 doğrulama verileri için metrikler
  • Doğrulama verileri için Kesinlik ve Geri Çağırma

Parametreler

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

Görselleştirmeler

  • Doğrulama verileri üzerindeki model tahminlerinin karışıklık matrisi
  • Tüm sınıflarda PR ve F1 eğrileri için grafikler
  • Sınıf Etiketlerinin Korelogramı

Comet Günlük Kaydını Yapılandırma

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

export COMET_MODE=online # Comet 'un 'çevrimiçi' veya 'çevrimdışı' modda çalıştırılıp çalıştırılmayacağını ayarlayın. Defaults to onlineexport COMET_MODEL_NAME= #Kaydedilen modelin adını ayarlayın. Defaults to yolov5export COMET_LOG_CONFUSION_MATRIX=false # Comet Confusion Matrix günlüğünü devre dışı bırakmak için ayarlayın. Defaults to trueexport COMET_MAX_IMAGE_UPLOADS= # Comet adresine kaç tane toplam görüntü tahmini kaydedileceğini kontrol eder. Defaults to 100.export COMET_LOG_PER_CLASS_METRICS=true # Eğitimin sonunda tespit edilen her sınıf için değerlendirme metriklerini günlüğe kaydetmek üzere ayarlanır. Defaults to falseexport COMET_DEFAULT_CHECKPOINT_FILENAME= # Eğitime farklı bir kontrol noktasından devam etmek istiyorsanız bunu ayarlayın. Defaults to 'last.pt'export COMET_LOG_BATCH_LEVEL_METRICS=true # Eğitim metriklerini toplu iş düzeyinde günlüğe kaydetmek istiyorsanız bunu ayarlayın. Varsayılan değer false.export COMET_LOG_PREDICTIONS=true # Model tahminlerini günlüğe kaydetmeyi devre dışı bırakmak için bunu false olarak ayarlayın

Kontrol Noktalarının Günlüğe Kaydedilmesi Comet

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

python train.py \

--img 640 \

--batch 16 \

--epochs 5 \

--data coco128.yaml \

--weights yolov5s.pt \

--save-period 1

Günlük Modeli Tahminleri

Varsayılan olarak, model tahminleri (görüntüler, temel gerçek etiketleri ve sınırlayıcı kutular) Comet adresine kaydedilecektir. bbox_interval komut satırı bağımsız değişkenini geçerek kaydedilen tahminlerin ve ilişkili görüntülerin sıklığını kontrol edebilirsiniz. Tahminler Comet'un 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 yığın boyutuna sahip olacaktır, bu nedenle günlük kaydı sıklığını buna göre ayarlamanız gerekecektir.

İşte Panel'i kullanan örnek bir proje.

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

Giriş Yapılan Tahmin Görüntülerinin Sayısını Kontrol Etme Comet

YOLOv5 adresinden tahminleri günlüğe kaydederken, Comet her bir tahmin setiyle ilişkili görüntüleri günlüğe kaydeder. Varsayılan olarak, en fazla 100 doğrulama görüntüsü günlüğe kaydedilir. Bu sayıyı COMET_MAX_IMAGE_UPLOADS ortam değişkenini kullanarak 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, precision, recall ve f1 değerlerini günlüğe 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 Adresine Veri Kümesi Yükleme

Verilerinizi Comet Artifacts kullanarak saklamak isterseniz, upload_dataset bayrağını kullanarak bunu yapabilirsiniz.

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 setini Comet Çalışma Alanınızdaki Artifacts sekmesinde bulabilirsiniz

Comet Eserler Sekmesi, YOLOv5

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

Verileri Comet adresinde önizleyin, YOLOv5

Eserler sürümlendirilir ve ayrıca veri kümesi hakkında meta veri eklemeyi destekler. Comet , veri kümesi yaml dosyanızdan meta verileri otomatik olarak günlüğe kaydeder.

Comet adresindeki YAML dosyasından meta verileri günlüğe kaydedin, YOLOv5

Kaydedilmiş Bir Eseri Kullanma

Comet Artifacts adresinden bir veri kümesi kullanmak istiyorsanız, veri kümesi yaml dosyanızdaki yol değişkenini aşağıdaki Artifact kaynak URL'sine işaret edecek şekilde ayarlayın.

# artifact.yaml dosya yolunun içeriği: "comet:///:"

Ardından bu dosyayı eğitim betiğinize aşağıdaki şekilde aktarın:

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

Eserler aynı zamanda Deneme iş akışınız boyunca akan veri akışını izlemenize de olanak tanır. Burada, yüklediğiniz veri kümesini kullanan tüm deneyleri gösteren bir grafik görebilirsiniz.

Comet deneysel iş akışı, YOLOv5

Antrenman Koşusuna Devam Etmek

Eğitim koşunuz herhangi bir nedenle kesintiye uğrarsa, örneğin internet bağlantısı kesilirse, devam bayrağını ve Comet Run Path'i kullanarak koşuyu devam ettirebilirsiniz.

Çalıştırma Yolu aşağıdaki formata sahiptir comet:////.

Bu, modeli bir kontrol noktasından geri yüklemeyi, tüm hiperparametreleri ve eğitim argümanlarını geri yüklemeyi ve orijinal çalışmada kullanılmışlarsa Comet veri kümesi Artefaktlarını indirmeyi içeren çalışmayı kesintiden önceki durumuna geri yükleyecektir. Yeniden başlatılan çalıştırma, Comet kullanıcı arayüzündeki mevcut Deneye günlük tutmaya devam edecektir.

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

Comet Optimizer ile Hiperparametre Arama

YOLOv5 ayrıca Comet's Optimizer ile entegre edilmiştir ve hiperparametre taramalarını Comet kullanıcı arayüzünde görselleştirmeyi kolaylaştırır.

Optimize Edici Taramasını Yapılandırma

Comet Optimizer'ı yapılandırmak için, tarama ile ilgili bilgileri içeren bir JSON dosyası oluşturmanız gerekecektir.

Örnek bir dosya şurada verilmiştir:

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. Süpürme işleminize ek argümanlar aktarmak 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

Bir Taramayı Paralel Çalıştırma

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

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

Tarama sonuçlarını Comet adresinde görselleştirin, YOLOv5

İletişimde Kalın

Eğitim çalışmalarından üretim izlemeye kadar YOLOv5 modellerinizi yönetmek, görselleştirmek ve optimize etmek için Comet ile entegrasyonumuzu kullanmaya başlayın.

Ve tabii ki, YOLOv5 eğitimi, doğrulama ve dağıtım hakkında sorular sorabileceğiniz ve ipuçları paylaşabileceğiniz Ultralytics Topluluğuna katılın.

Facebook logosuTwitter logosuLinkedIn logosuKopya-bağlantı sembolü

Bu kategoride daha fazlasını okuyun

Yapay zekanın gelecekteki
adresini birlikte inşa edelim!

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