Yolo Vision Shenzhen
Shenzhen
Şimdi katılın

Ultralytics YOLOv5 Comet ile 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 iş birliği yaptığını keşfedin: gerçek zamanlı izleme, kolaylaştırılmış iş birliği ve gelişmiş tekrarlanabilirlik.

Ultralytics 'te, YOLOv5 gibi harika açık kaynaklı 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 ticari olarak diğer girişimlerle ortaklık yapıyoruz. 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 bir çalıştırma için 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 Panelleri ile model tahminlerinizi görselleştirin!

Ayrıca Comet , çalışmalarınızın track 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 tekrarlanabilirlik için veri kümelerini ve modelleri yapıt olarak kaydetme
  • Comet'in özel panelleri ile görünümünüzü düzenleme


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

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

Başlangıç

1. Comet'i yükleyin

Pip comet'yi yükle

2. Comet Kimlik Bilgilerini Yapılandırma

Comet 'i şu şekilde yapılandırmanın iki yolu vardır YOLOv5.

Kimlik bilgilerinizi ortam değişkenleri aracılığıyla ayarlayabilir ya da çalışma dizininizde bircomet.config dosyası oluşturabilir ve kimlik bilgilerinizi burada ayarlayabilirsiniz.


Ortam Değişkenleri

export COMET COMET# Bu varsayılan olarakyolov5' 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

# Train YOLOv5s on COCO128 for 5 epochspython train.py --img 640 --batch 16 --epochs 5 --data coco128yaml --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!

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 kaydeder:

Metrikler

  • Eğitim ve doğrulama verileri için Kutu Kaybı, Nesne Kaybı ve Sınıflandırma Kaybı
  • mAP.5, mAP.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 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ırma

Comet , eğitim komut dosyasına 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# Comet 'in 'çevrimiçi' veya 'çevrimdışı' modda çalıştırılıp çalıştırılmayacağını ayarlayın. Defaults to onlineexport COMET#Kaydedilen modelin adını ayarlayın. Defaults to yolov5export COMET# Comet Karışıklık Matrisini günlüğe kaydetmeyi devre dışı bırakmak için ayarlayın. Defaults to trueexport COMET# Comet'e kaç tane toplam görüntü tahmini kaydedileceğini kontrol eder. Defaults to 100.export COMET# 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# Eğitime farklı bir kontrol noktasından devam etmek istiyorsanız bunu ayarlayın. Defaults to 'last.pt'export COMET# Eğitim ölçümlerini toplu iş düzeyinde günlüğe kaydetmek istiyorsanız bunu ayarlayın. Varsayılan değer false.export COMET# Model tahminlerini günlüğe kaydetmeyi devre dışı bırakmak için bunu false olarak ayarlayın

Comet ile Kontrol Noktalarının Kaydedilmesi

Modelleri Comet 'e kaydetme varsayılan olarak devre dışıdır. Bunu etkinleştirmek için eğitim betiğine save-period argümanını iletin. 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 coco128yaml \

--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 gerçek etiketleri ve sınırlayıcı kutular) Comet'e kaydedilecektir. Günlüğe kaydedilen tahminlerin ve ilişkili görüntülerin sıklığını bbox komut satırı bağımsız değişkenini geçerek 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 yığın boyutuna sahip olacaktı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 coco128yaml \--weights yolov5s.pt bbox 2

Comet'e Kaydedilen Tahmin Görüntülerinin Sayısını Kontrol Etme

YOLOv5'ten 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. COMET ortam değişkenini kullanarak bu sayıyı artırabilir veya azaltabilirsiniz.

env COMET train.py \--img 640 \--batch 16 \--epochs 5 \--data coco128yaml \--weights yolov5s.pt bbox 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 ortam değişkenini kullanın.

env COMET python train.py \--img 640 \--batch 16 \--epochs 5 \--data coco128yaml \--weights yolov5s.pt

Comet Artifacts'a Veri Kümesi Yükleme

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

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

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

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

Comet Artifacts Sekmesi, YOLOv5

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

Comet, YOLOv5'te önizleme verileri

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

Comet, YOLOv5'teki YAML dosyasından meta verileri günlüğe kaydetme

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'sine işaret edecek şekilde ayarlayın.

# artifactyaml dosyasının içeriği yol: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 artifactyaml \--weights yolov5s.pt

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

Comet yıldız deney iş akışı, YOLOv5

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

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

Çalışma Yolu aşağıdaki biçime 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 \--resumecomet://"

Comet Optimizer ile Hiperparametre Arama

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

Bir Optimizasyon Döngüsü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 şu konumda sağlanmıştır:

comet.json python comet.py comet"comet.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 comet.py comet"comet.json" \--save-period 1 bbox 1

Paralel Sweep Çalıştırma

comet optimizer -j comet.py comet.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, YOLOv5'te görselleştirin

İ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 elbette, YOLOv5 eğitimi, doğrulaması ve dağıtımı hakkında sorular sorabileceğiniz ve ipuçları paylaşabileceğiniz Ultralytics Topluluğuna katılın.

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

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

Ücretsiz başlayın