─░├žeri─če ge├ž

Comet

YOLOv5 ile Comet

Bu k─▒lavuzda YOLOv5 ile nas─▒l kullan─▒laca─č─▒ ele al─▒nacakt─▒r Comet

Hakk─▒nda Comet

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.

Model ├Âl├ž├╝mlerini 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! Comet ├žal─▒┼čman─▒z─▒n izini 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!

Ba┼člarken

Kurulum Comet

pip install comet_ml

Comet Kimlik Bilgilerini Yap─▒land─▒rma

Comet adresini YOLOv5 ile yap─▒land─▒rman─▒n iki yolu vard─▒r.

Kimlik bilgilerinizi ortam de─či┼čkenleri arac─▒l─▒─č─▒yla ayarlayabilirsiniz

Ortam De─či┼čkenleri

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

Ya da bir .comet.config dosyas─▒n─▒ a├ž─▒n ve kimlik bilgilerinizi orada ayarlay─▒n.

Comet Yap─▒land─▒rma Dosyas─▒

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

E─čitim Komut Dosyas─▒n─▒ ├çal─▒┼čt─▒r─▒n

# 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 hiperparametrelerinizi, komut sat─▒r─▒ arg├╝manlar─▒n─▒z─▒, e─čitim ve do─črulama metriklerinizi otomatik olarak g├╝nl├╝─če kaydedecektir. ├çal─▒┼čmalar─▒n─▒z─▒ Comet kullan─▒c─▒ aray├╝z├╝nde g├Ârselle┼čtirebilir ve analiz edebilirsiniz

yolo-ui

Bir ├ľrnek Deneyin!

Tamamlanm─▒┼č bir ├žal─▒┼čma ├Ârne─čine buradan g├Âz at─▒n

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

Colab'da A├ž

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─▒, S─▒n─▒fland─▒rma Kayb─▒
  • mAP_0.5, do─črulama verileri i├žin 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 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 # 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

ile Kontrol Noktalar─▒n─▒ G├╝nl├╝─če Kaydetme Comet

Modellerin Comet adresinde g├╝nl├╝─če kaydedilmesi varsay─▒lan olarak devre d─▒┼č─▒d─▒r. Etkinle┼čtirmek i├žin save-period e─čitim komut dosyas─▒na arg├╝man. Bu, g├╝nl├╝─če kaydedilen kontrol noktalar─▒n─▒ Comet adresine kaydedecektir. save-period

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.

G├╝nl├╝─če kaydedilen tahminlerin ve ili┼čkili g├Âr├╝nt├╝lerin s─▒kl─▒─č─▒n─▒ bbox_interval komut sat─▒r─▒ arg├╝man─▒. 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

Kaydedilen 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─▒ ┼ču komutu kullanarak art─▒rabilir veya azaltabilirsiniz COMET_MAX_IMAGE_UPLOADS ortam de─či┼čkeni.

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 Seviyesi Metriklerini G├╝nl├╝─če Kaydetme

Kullan─▒n COMET_LOG_PER_CLASS_METRICS her s─▒n─▒f i├žin mAP, precision, recall, f1 de─čerlerini g├╝nl├╝─če kaydetmek i├žin ortam de─či┼čkeni.

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

Bir Veri Setini Comet Artifacts'e Y├╝kleme

Verilerinizi a┼ča─č─▒dakileri kullanarak saklamak isterseniz Comet Eserlerkullanarak bunu yapabilirsiniz. upload_dataset bayrak.

Veri k├╝mesi, a┼ča─č─▒da a├ž─▒klanan ┼čekilde d├╝zenlenmelidir YOLOv5 dok├╝mantasyon. Veri k├╝mesi yap─▒land─▒rmas─▒ yaml dosyas─▒n─▒n format─▒ ile ayn─▒ format─▒ takip etmelidir. coco128.yaml Dosya.

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 artefakt-1

Verileri do─črudan Comet kullan─▒c─▒ aray├╝z├╝nde ├Ânizleyebilirsiniz. artefakt-2

Eserler s├╝r├╝mlendirilir ve ayr─▒ca veri k├╝mesi hakk─▒nda meta veri eklemeyi destekler. Comet veri k├╝menizdeki meta verileri otomatik olarak g├╝nl├╝─če kaydeder yaml dosya artefakt-3

Kaydedilmi┼č bir Eseri Kullanma

Comet Artifacts adresinden bir veri k├╝mesi kullanmak isterseniz path veri k├╝menizdeki de─či┼čken yaml dosyas─▒n─▒ a┼ča─č─▒daki Artifact kaynak URL'sine i┼čaret edecek ┼čekilde ayarlay─▒n.

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

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. artefakt-4

Antrenman Ko┼čusuna Devam Etme

E─čitim ko┼čunuz herhangi bir nedenle kesintiye u─črarsa, ├Ârne─čin internet ba─člant─▒n─▒z kesilirse, ko┼čuya devam etmek i├žin resume bayra─č─▒ ve Comet Run Path.

├çal─▒┼čt─▒rma Yolu a┼ča─č─▒daki bi├žime sahiptir comet://<your workspace name>/<your project name>/<experiment id>.

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 seti 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://<your run path>"

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"

Bu hpo.py beti─či ┼ču arg├╝manlarla ayn─▒ arg├╝manlar─▒ kabul eder train.py. S├╝p├╝rme i┼čleminize ek arg├╝manlar aktarmak isterseniz bunlar─▒ koddan 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 <set number of workers> utils/loggers/comet/hpo.py \
  utils/loggers/comet/optimizer_config.json"

Sonu├žlar─▒ G├Ârselle┼čtirme

Comet taraman─▒z─▒n sonu├žlar─▒n─▒ g├Ârselle┼čtirmek i├žin ├že┼čitli yollar sunar. Tamamlanm─▒┼č bir taramaya sahip bir projeye buradan g├Âz at─▒n

hiperparametre-yolo



Created 2023-11-12, Updated 2024-06-02
Authors: glenn-jocher (4), RizwanMunawar (1)

Yorumlar