İçeriğe geç

ile Model Eğitimi Ultralytics YOLO

Ultralytics YOLO ekosistem ve entegrasyonlar

Giriş

Bir derin öğrenme modelinin eğitilmesi, doğru tahminler yapabilmesi için modelin verilerle beslenmesini ve parametrelerinin ayarlanmasını içerir. Ultralytics YOLO11 adresindeki Train modu, modern donanım özelliklerinden tam olarak yararlanarak nesne algılama modellerinin etkili ve verimli bir şekilde eğitilmesi için tasarlanmıştır. Bu kılavuz, YOLO11'un güçlü özellik setini kullanarak kendi modellerinizi eğitmeye başlamak için ihtiyacınız olan tüm ayrıntıları kapsamayı amaçlamaktadır.



İzle: Google Colab'da Özel Veri Setinizde YOLO modeli nasıl eğitilir?

Eğitim için Neden Ultralytics YOLO adresini seçmelisiniz?

İşte YOLO11'un Tren modunu tercih etmek için bazı zorlayıcı nedenler:

  • Verimlilik: İster tek birGPU kurulumunda ister birden fazla GPU arasında ölçeklendirme yapıyor olun, donanımınızdan en iyi şekilde yararlanın.
  • Çok yönlülük: COCO, VOC ve ImageNet gibi hazır veri kümelerinin yanı sıra özel veri kümeleri üzerinde de eğitim alın.
  • Kullanıcı Dostu: Basit bir eğitim deneyimi için basit ama güçlü CLI ve Python arayüzleri.
  • Hiperparametre Esnekliği: Model performansına ince ayar yapmak için çok çeşitli özelleştirilebilir hiperparametreler.

Tren Modunun Temel Özellikleri

Aşağıda YOLO11'un Tren modunun bazı önemli özellikleri yer almaktadır:

  • Otomatik Veri Seti İndirme: COCO, VOC ve ImageNet gibi standart veri kümeleri ilk kullanımda otomatik olarak indirilir.
  • ÇokluGPU Desteği: Süreci hızlandırmak için eğitim çalışmalarınızı birden fazla GPU'da sorunsuz bir şekilde ölçeklendirin.
  • Hiperparametre Yapılandırması: Hiperparametreleri YAML yapılandırma dosyaları veya CLI argümanları aracılığıyla değiştirme seçeneği.
  • Görselleştirme ve İzleme: Eğitim metriklerinin gerçek zamanlı takibi ve daha iyi içgörüler için öğrenme sürecinin görselleştirilmesi.

İpucu

  • YOLO11 COCO, VOC, ImageNet ve diğerleri gibi veri kümeleri ilk kullanımda otomatik olarak indirilir, yani yolo train data=coco.yaml

Kullanım Örnekleri

100 için COCO8 veri kümesinde YOLO11n'i eğitin çağlar 640 görüntü boyutunda. Eğitim cihazı şu şekilde belirtilebilir device argüman. Herhangi bir argüman geçilmezse GPU device=0 mevcutsa kullanılacaktır, aksi takdirde device='cpu' kullanılacaktır. Eğitim argümanlarının tam listesi için aşağıdaki Argümanlar bölümüne bakın.

Tek-GPU ve CPU Eğitim Örneği

Cihaz otomatik olarak belirlenir. Eğer bir GPU mevcutsa, o zaman kullanılacaktır, aksi takdirde eğitim CPU adresinde başlayacaktır.

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.yaml")  # build a new model from YAML
model = YOLO("yolo11n.pt")  # load a pretrained model (recommended for training)
model = YOLO("yolo11n.yaml").load("yolo11n.pt")  # build from YAML and transfer weights

# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Build a new model from YAML and start training from scratch
yolo detect train data=coco8.yaml model=yolo11n.yaml epochs=100 imgsz=640

# Start training from a pretrained *.pt model
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640

# Build a new model from YAML, transfer pretrained weights to it and start training
yolo detect train data=coco8.yaml model=yolo11n.yaml pretrained=yolo11n.pt epochs=100 imgsz=640

ÇokluGPU Eğitim

ÇokluGPU eğitimi, eğitim yükünü birden fazla GPU'ya dağıtarak mevcut donanım kaynaklarının daha verimli kullanılmasını sağlar. Bu özellik hem Python API hem de komut satırı arayüzü aracılığıyla kullanılabilir. ÇokluGPU eğitimini etkinleştirmek için, kullanmak istediğiniz GPU cihaz kimliklerini belirtin.

ÇokluGPU Eğitim Örneği

2 GPU ile eğitim yapmak için CUDA cihaz 0 ve 1 aşağıdaki komutları kullanın. Gerektiğinde ek GPU'lara genişletin.

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")  # load a pretrained model (recommended for training)

# Train the model with 2 GPUs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=[0, 1])
# Start training from a pretrained *.pt model using GPUs 0 and 1
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640 device=0,1

Apple Silicon MPS Eğitim

Ultralytics YOLO modellerine entegre edilen Apple silikon çip desteği sayesinde, modellerinizi güçlü Metal Performans Gölgelendiricileri (MPS) çerçevesini kullanan cihazlarda eğitmek artık mümkün. MPS , Apple'ın özel silikonunda hesaplama ve görüntü işleme görevlerini yürütmek için yüksek performanslı bir yol sunar.

Apple silikon çipleri üzerinde eğitimi etkinleştirmek için, eğitim sürecini başlatırken cihazınız olarak 'mps' belirtmelisiniz. Aşağıda, bunu Python adresinde ve komut satırı aracılığıyla nasıl yapabileceğinize dair bir örnek yer almaktadır:

MPS Eğitim Örneği

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")  # load a pretrained model (recommended for training)

# Train the model with MPS
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device="mps")
# Start training from a pretrained *.pt model using MPS
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640 device=mps

Apple silikon çiplerinin hesaplama gücünden yararlanılırken, bu eğitim görevlerinin daha verimli bir şekilde işlenmesini sağlar. Daha ayrıntılı rehberlik ve gelişmiş yapılandırma seçenekleri için lütfen PyTorch MPS belgelerine bakın.

Ara Verilen Eğitimlere Devam Edilmesi

Önceden kaydedilmiş bir durumdan eğitime devam etmek, derin öğrenme modelleriyle çalışırken çok önemli bir özelliktir. Bu, eğitim süreci beklenmedik bir şekilde kesintiye uğradığında veya bir modeli yeni verilerle veya daha fazla epokla eğitmeye devam etmek istediğinizde olduğu gibi çeşitli senaryolarda kullanışlı olabilir.

Eğitime devam edildiğinde, Ultralytics YOLO son kaydedilen modeldeki ağırlıkları yükler ve ayrıca optimize edici durumunu, öğrenme hızı zamanlayıcısını ve epok sayısını geri yükler. Bu, eğitim sürecine kaldığı yerden sorunsuz bir şekilde devam etmenizi sağlar.

Eğitiminize Ultralytics YOLO adresinden kolayca devam edebilirsiniz. resume argümanına True çağırırken train metodunun yolunu belirtmek ve .pt Kısmen eğitilmiş model ağırlıklarını içeren dosya.

Aşağıda, Python adresini kullanarak ve komut satırı aracılığıyla kesintiye uğramış bir eğitimin nasıl devam ettirileceğine dair bir örnek yer almaktadır:

Özgeçmiş Eğitim Örneği

from ultralytics import YOLO

# Load a model
model = YOLO("path/to/last.pt")  # load a partially trained model

# Resume training
results = model.train(resume=True)
# Resume an interrupted training
yolo train resume model=path/to/last.pt

Ayarlayarak resume=True, the train fonksiyonu 'path/to/last.pt' dosyasında saklanan durumu kullanarak eğitime kaldığı yerden devam edecektir. Eğer resume argümanı atlanır veya False, the train işlevi yeni bir eğitim oturumunu başlatacaktır.

Kontrol noktalarının varsayılan olarak her dönemin sonunda veya sabit aralıklarla save_period argümanına göre, bir eğitim çalışmasına devam etmek için en az 1 epok tamamlamanız gerekir.

Tren Ayarları

YOLO modelleri için eğitim ayarları, eğitim süreci sırasında kullanılan çeşitli hiper parametreleri ve yapılandırmaları kapsar. Bu ayarlar modelin performansını, hızını ve doğruluğunu etkiler. Temel eğitim ayarları arasında yığın boyutu, öğrenme hızı, momentum ve ağırlık azalması yer alır. Ayrıca optimize edici, kayıp fonksiyonu ve eğitim veri kümesi bileşimi seçimi de eğitim sürecini etkileyebilir. Bu ayarların dikkatli bir şekilde ayarlanması ve denenmesi performansı optimize etmek için çok önemlidir.

Tartışma Varsayılan Açıklama
model None Eğitim için model dosyasını belirtir. Bir model dosyasına giden bir yol kabul eder. .pt ön eğitimli model veya bir .yaml yapılandırma dosyası. Model yapısını tanımlamak veya ağırlıkları başlatmak için gereklidir.
data None Veri kümesi yapılandırma dosyasının yolu (örn, coco8.yaml). Bu dosya, eğitim yolları ve veri kümesine özgü parametreleri içerir. doğrulama veri̇leri̇, sınıf adları ve sınıf sayısı.
epochs 100 Toplam eğitim epok sayısı. Her epok, tüm veri kümesi üzerinde tam bir geçişi temsil eder. Bu değerin ayarlanması eğitim süresini ve model performansını etkileyebilir.
time None Saat cinsinden maksimum eğitim süresi. Eğer ayarlanırsa, bu epochs argümanı, eğitimin belirtilen süreden sonra otomatik olarak durmasına izin verir. Zaman kısıtlı eğitim senaryoları için kullanışlıdır.
patience 100 Eğitimi erken durdurmadan önce doğrulama metriklerinde iyileşme olmadan beklenecek epok sayısı. Performans platoları olduğunda eğitimi durdurarak aşırı uyumu önlemeye yardımcı olur.
batch 16 Parti büyüklüğüüç mod ile: bir tamsayı olarak ayarlanır (örn, batch=16), %60 GPU bellek kullanımı için otomatik mod (batch=-1) veya belirtilen kullanım oranı ile otomatik mod (batch=0.70).
imgsz 640 Eğitim için hedef görüntü boyutu. Tüm görüntüler modele girilmeden önce bu boyuta yeniden boyutlandırılır. Model doğruluğunu ve hesaplama karmaşıklığını etkiler.
save True Eğitim kontrol noktalarının ve son model ağırlıklarının kaydedilmesini sağlar. Eğitime veya model dağıtımına devam etmek için kullanışlıdır.
save_period -1 Model kontrol noktalarını kaydetme sıklığı, epok cinsinden belirtilir. -1 değeri bu özelliği devre dışı bırakır. Uzun eğitim oturumları sırasında ara modelleri kaydetmek için kullanışlıdır.
cache False Veri kümesi görüntülerinin bellekte önbelleğe alınmasını etkinleştirir (True/ram), disk üzerinde (disk) veya devre dışı bırakır (False). Artan bellek kullanımı pahasına disk I/O'sunu azaltarak eğitim hızını artırır.
device None Eğitim için hesaplama cihaz(lar)ını belirtir: tek bir GPU (device=0), çoklu GPU'lar (device=0,1), CPU (device=cpu) veya Apple silikonu için MPS (device=mps).
workers 8 Veri yükleme için işçi iş parçacığı sayısı (her RANK eğer ÇokluGPU eğitim). Veri ön işleme ve modele besleme hızını etkiler, özellikle çokluGPU kurulumlarında faydalıdır.
project None Eğitim çıktılarının kaydedildiği proje dizininin adı. Farklı deneylerin düzenli bir şekilde saklanmasını sağlar.
name None Eğitim çalışmasının adı. Proje klasörü içinde eğitim günlüklerinin ve çıktılarının saklandığı bir alt dizin oluşturmak için kullanılır.
exist_ok False True ise, mevcut bir proje/isim dizininin üzerine yazılmasına izin verir. Önceki çıktıları manuel olarak temizlemeye gerek kalmadan yinelemeli denemeler için kullanışlıdır.
pretrained True Eğitime önceden eğitilmiş bir modelden başlanıp başlanmayacağını belirler. Boolean bir değer veya ağırlıkların yükleneceği belirli bir modele giden bir dize yolu olabilir. Eğitim verimliliğini ve model performansını artırır.
optimizer 'auto' Eğitim için optimize edici seçimi. Seçenekler şunları içerir SGD, Adam, AdamW, NAdam, RAdam, RMSProp vb. veya auto model yapılandırmasına dayalı otomatik seçim için. Yakınsama hızını ve kararlılığı etkiler.
seed 0 Eğitim için rastgele tohumu ayarlar ve aynı konfigürasyonlara sahip çalıştırmalar arasında sonuçların tekrarlanabilirliğini sağlar.
deterministic True Deterministik algoritma kullanımını zorlayarak tekrarlanabilirliği sağlar, ancak deterministik olmayan algoritmalar üzerindeki kısıtlama nedeniyle performansı ve hızı etkileyebilir.
single_cls False Eğitim sırasında çok sınıflı veri kümelerindeki tüm sınıfları tek bir sınıf olarak ele alır. İkili sınıflandırma görevleri için veya sınıflandırmadan ziyade nesne varlığına odaklanırken kullanışlıdır.
classes None Üzerinde eğitilecek sınıf kimliklerinin bir listesini belirtir. Eğitim sırasında filtreleme yapmak ve yalnızca belirli sınıflara odaklanmak için kullanışlıdır.
rect False Minimum dolgu için yığın kompozisyonunu optimize ederek dikdörtgen eğitim sağlar. Verimliliği ve hızı artırabilir ancak model doğruluğunu etkileyebilir.
cos_lr False Epoklar boyunca bir kosinüs eğrisini takip ederek öğrenme oranını ayarlayan bir kosinüs öğrenme oranı zamanlayıcısı kullanır. Daha iyi yakınsama için öğrenme oranını yönetmeye yardımcı olur.
close_mosaic 10 Tamamlanmadan önce eğitimi stabilize etmek için son N epokta mozaik veri artırımını devre dışı bırakır. 0 olarak ayarlanması bu özelliği devre dışı bırakır.
resume False Son kaydedilen kontrol noktasından eğitime devam eder. Model ağırlıklarını, optimizer durumunu ve epok sayısını otomatik olarak yükleyerek eğitime sorunsuz bir şekilde devam eder.
amp True Otomatik Karma Hassasiyet (AMP) eğitimini etkinleştirerek bellek kullanımını azaltır ve muhtemelen doğruluk üzerinde minimum etkiyle eğitimi hızlandırır.
fraction 1.0 Veri kümesinin eğitim için kullanılacak kısmını belirtir. Tam veri kümesinin bir alt kümesi üzerinde eğitime izin verir, deneyler için veya kaynaklar sınırlı olduğunda kullanışlıdır.
profile False Eğitim sırasında ONNX ve TensorRT hızlarının profilinin çıkarılmasını sağlar, model dağıtımını optimize etmek için kullanışlıdır.
freeze None Modelin ilk N katmanını veya indekse göre belirtilen katmanları dondurarak eğitilebilir parametrelerin sayısını azaltır. İnce ayar veya aktarımlı öğrenme için kullanışlıdır.
lr0 0.01 İlk öğrenme oranı (örn. SGD=1E-2, Adam=1E-3) . Bu değerin ayarlanması optimizasyon süreci için çok önemlidir ve model ağırlıklarının ne kadar hızlı güncelleneceğini etkiler.
lrf 0.01 Başlangıç oranının bir kesri olarak nihai öğrenme oranı = (lr0 * lrf), zaman içinde öğrenme oranını ayarlamak için zamanlayıcılarla birlikte kullanılır.
momentum 0.937 SGD için momentum faktörü veya Adam optimize edicileri için beta1, geçmiş gradyanların mevcut güncellemeye dahil edilmesini etkiler.
weight_decay 0.0005 Aşırı uyumu önlemek için büyük ağırlıkları cezalandıran L2 düzenleme terimi.
warmup_epochs 3.0 Öğrenme hızı ısınması için epok sayısı, eğitimi erkenden stabilize etmek için öğrenme hızını düşük bir değerden başlangıç öğrenme hızına kademeli olarak artırır.
warmup_momentum 0.8 Isınma aşaması için başlangıç momentumu, ısınma süresi boyunca kademeli olarak ayarlanan momentuma ayarlanır.
warmup_bias_lr 0.1 Isınma aşamasında önyargı parametreleri için öğrenme oranı, ilk epoklarda model eğitimini stabilize etmeye yardımcı olur.
box 7.5 Kayıp fonksiyonundaki kutu kaybı bileşeninin ağırlığı, sınırlayıcı kutu koordinatlarının doğru tahmin edilmesine ne kadar önem verildiğini etkiler.
cls 0.5 Sınıflandırma kaybının toplam kayıp fonksiyonundaki ağırlığı, doğru sınıf tahmininin diğer bileşenlere göre önemini etkiler.
dfl 1.5 Belirli YOLO sürümlerinde ince taneli sınıflandırma için kullanılan dağıtım odak kaybının ağırlığı.
pose 12.0 Poz tahmini için eğitilen modellerde poz kaybının ağırlığı, poz anahtar noktalarını doğru bir şekilde tahmin etme vurgusunu etkiler.
kobj 2.0 Poz tahmin modellerinde anahtar nokta nesnellik kaybının ağırlığı, algılama güvenini poz doğruluğu ile dengeler.
nbs 64 Kaybın normalleştirilmesi için nominal parti büyüklüğü.
overlap_mask True Nesne maskelerinin eğitim için tek bir maske halinde mi birleştirileceğini yoksa her nesne için ayrı mı tutulacağını belirler. Üst üste binme durumunda, birleştirme sırasında küçük maske büyük maskenin üzerine bindirilir.
mask_ratio 4 Segmentasyon maskeleri için aşağı örnekleme oranı, eğitim sırasında kullanılan maskelerin çözünürlüğünü etkiler.
dropout 0.0 Sınıflandırma görevlerinde düzenli hale getirme için bırakma oranı, eğitim sırasında birimleri rastgele atlayarak aşırı uyumu önler.
val True Eğitim sırasında doğrulamayı etkinleştirerek model performansının ayrı bir veri kümesi üzerinde periyodik olarak değerlendirilmesine olanak tanır.
plots False Eğitim ve doğrulama metriklerinin yanı sıra tahmin örneklerinin grafiklerini oluşturur ve kaydeder, model performansı ve öğrenme ilerlemesi hakkında görsel bilgiler sağlar.

Toplu İş Boyutu Ayarları Hakkında Not

Bu batch argümanı üç şekilde yapılandırılabilir:

  • Sabit Parti Boyutu: Bir tamsayı değeri ayarlayın (örn, batch=16), yığın başına görüntü sayısını doğrudan belirterek.
  • Otomatik Mod (%60 GPU Bellek): Kullanım batch=-1 yaklaşık %60 CUDA bellek kullanımı için toplu iş boyutunu otomatik olarak ayarlar.
  • Kullanım Fraksiyonlu Otomatik Mod: Bir kesir değeri ayarlayın (örn, batch=0.70) toplu iş boyutunu GPU bellek kullanımının belirtilen kısmına göre ayarlamak için.

Büyütme Ayarları ve Hiperparametreler

Güçlendirme teknikleri, eğitim verilerine değişkenlik katarak YOLO modellerinin sağlamlığını ve performansını artırmak için gereklidir ve modelin görülmeyen verilere daha iyi genelleme yapmasına yardımcı olur. Aşağıdaki tabloda her bir güçlendirme argümanının amacı ve etkisi özetlenmektedir:

Tartışma Tip Varsayılan Menzil Açıklama
hsv_h float 0.015 0.0 - 1.0 Görüntünün tonunu renk tekerleğinin bir kısmına göre ayarlayarak renk değişkenliği sağlar. Modelin farklı aydınlatma koşullarında genelleştirilmesine yardımcı olur.
hsv_s float 0.7 0.0 - 1.0 Görüntünün doygunluğunu bir miktar değiştirerek renklerin yoğunluğunu etkiler. Farklı çevre koşullarını simüle etmek için kullanışlıdır.
hsv_v float 0.4 0.0 - 1.0 Görüntünün değerini (parlaklığını) belli bir oranda değiştirerek modelin çeşitli aydınlatma koşullarında iyi performans göstermesine yardımcı olur.
degrees float 0.0 -180 - +180 Görüntüyü belirtilen derece aralığında rastgele döndürerek modelin çeşitli yönlerdeki nesneleri tanıma yeteneğini geliştirir.
translate float 0.1 0.0 - 1.0 Görüntüyü yatay ve dikey olarak görüntü boyutunun bir kısmı kadar çevirerek kısmen görülebilen nesneleri tespit etmeyi öğrenmeye yardımcı olur.
scale float 0.5 >=0.0 Görüntüyü bir kazanç faktörü ile ölçeklendirerek kameradan farklı mesafelerdeki nesneleri simüle eder.
shear float 0.0 -180 - +180 Görüntüyü belirli bir dereceye kadar keserek, farklı açılardan görüntülenen nesnelerin etkisini taklit eder.
perspective float 0.0 0.0 - 0.001 Görüntüye rastgele bir perspektif dönüşümü uygulayarak modelin 3D uzaydaki nesneleri anlama yeteneğini geliştirir.
flipud float 0.0 0.0 - 1.0 Görüntüyü belirtilen olasılıkla ters çevirerek nesnenin özelliklerini etkilemeden veri değişkenliğini artırır.
fliplr float 0.5 0.0 - 1.0 Görüntüyü belirtilen olasılıkla soldan sağa çevirir, simetrik nesneleri öğrenmek ve veri kümesi çeşitliliğini artırmak için kullanışlıdır.
bgr float 0.0 0.0 - 1.0 Görüntü kanallarını belirtilen olasılıkla RGB'den BGR'ye çevirir, yanlış kanal sıralamasına karşı sağlamlığı artırmak için kullanışlıdır.
mosaic float 1.0 0.0 - 1.0 Dört eğitim görüntüsünü tek bir görüntüde birleştirerek farklı sahne kompozisyonlarını ve nesne etkileşimlerini simüle eder. Karmaşık sahneleri anlamak için son derece etkilidir.
mixup float 0.0 0.0 - 1.0 İki görüntüyü ve etiketlerini harmanlayarak bileşik bir görüntü oluşturur. Etiket gürültüsü ve görsel değişkenlik ekleyerek modelin genelleme yeteneğini geliştirir.
copy_paste float 0.0 0.0 - 1.0 Nesneleri görüntüler arasında kopyalar ve yapıştırır, nesne örneklerini artırmak ve nesne tıkanıklığını öğrenmek için kullanışlıdır. Segmentasyon etiketleri gerektirir.
copy_paste_mode str flip - seçenekleri arasından Kopyala-Yapıştır büyütme yöntemi seçimi ("flip", "mixup").
auto_augment str randaugment - Önceden tanımlanmış bir büyütme politikasını otomatik olarak uygular (randaugment, autoaugment, augmix), görsel özellikleri çeşitlendirerek sınıflandırma görevleri için optimize eder.
erasing float 0.4 0.0 - 0.9 Sınıflandırma eğitimi sırasında görüntünün bir kısmını rastgele silerek modeli tanıma için daha az belirgin özelliklere odaklanmaya teşvik eder.
crop_fraction float 1.0 0.1 - 1.0 Merkezi özellikleri vurgulamak ve nesne ölçeklerine uyum sağlamak için sınıflandırma görüntüsünü boyutunun bir kısmına kırparak arka plandaki dikkat dağıtıcı unsurları azaltır.

Bu ayarlar, veri kümesinin ve eldeki görevin özel gereksinimlerini karşılayacak şekilde ayarlanabilir. Farklı değerlerle denemeler yapmak, en iyi model performansını sağlayan optimum büyütme stratejisini bulmaya yardımcı olabilir.

Bilgi

Eğitim artırma operasyonları hakkında daha fazla bilgi için referans bölümüne bakın.

Günlük kaydı

Bir YOLO11 modelini eğitirken, modelin zaman içindeki performansını takip etmeyi değerli bulabilirsiniz. İşte bu noktada günlük kaydı devreye girer. Ultralytics' YOLO üç tür kaydedici için destek sağlar - Comet, ClearML, ve TensorBoard.

Bir kaydediciyi kullanmak için, yukarıdaki kod parçacığındaki açılır menüden seçin ve çalıştırın. Seçilen kaydedici yüklenecek ve başlatılacaktır.

Comet

Comet veri bilimcilerin ve geliştiricilerin deneyleri ve modelleri izlemesine, karşılaştırmasına, açıklamasına ve optimize etmesine olanak tanıyan bir platformdur. Gerçek zamanlı metrikler, kod farklılıkları ve hiperparametrelerin izlenmesi gibi işlevler sağlar.

Comet adresini kullanmak için:

Örnek

# pip install comet_ml
import comet_ml

comet_ml.init()

Web sitelerinde Comet hesabınıza giriş yapmayı ve API anahtarınızı almayı unutmayın. Deneylerinizi günlüğe kaydetmek için bunu ortam değişkenlerinize veya komut dosyanıza eklemeniz gerekecektir.

ClearML

ClearML deneylerin izlenmesini otomatikleştiren ve kaynakların verimli bir şekilde paylaşılmasına yardımcı olan açık kaynaklı bir platformdur. Ekiplerin makine öğrenimi çalışmalarını daha verimli bir şekilde yönetmelerine, yürütmelerine ve yeniden üretmelerine yardımcı olmak için tasarlanmıştır.

ClearML adresini kullanmak için:

Örnek

# pip install clearml
import clearml

clearml.browser_login()

Bu betiği çalıştırdıktan sonra, tarayıcıda ClearML hesabınızda oturum açmanız ve oturumunuzu doğrulamanız gerekecektir.

TensorBoard

TensorBoard, aşağıdakiler için bir görselleştirme araç setidir TensorFlow. TensorFlow grafiğinizi görselleştirmenize, grafiğinizin yürütülmesiyle ilgili nicel ölçümleri çizmenize ve içinden geçen görüntüler gibi ek verileri göstermenize olanak tanır.

TensorBoard'u Google Colab'da kullanmak için:

Örnek

load_ext tensorboard
tensorboard --logdir ultralytics/runs  # replace with 'runs' directory

TensorBoard'u yerel olarak kullanmak için aşağıdaki komutu çalıştırın ve sonuçları http://localhost:6006/ adresinde görüntüleyin.

Örnek

tensorboard --logdir ultralytics/runs  # replace with 'runs' directory

Bu, TensorBoard'u yükleyecek ve eğitim günlüklerinizin kaydedildiği dizine yönlendirecektir.

Logger'ınızı kurduktan sonra model eğitiminize devam edebilirsiniz. Tüm eğitim ölçümleri seçtiğiniz platformda otomatik olarak kaydedilir ve modelinizin zaman içindeki performansını izlemek, farklı modelleri karşılaştırmak ve iyileştirme alanlarını belirlemek için bu günlüklere erişebilirsiniz.

SSS

Ultralytics YOLO11 adresini kullanarak bir nesne algılama modelini nasıl eğitebilirim?

Ultralytics YOLO11 adresini kullanarak bir nesne algılama modelini eğitmek için Python API'sini veya CLI adresini kullanabilirsiniz. Aşağıda her ikisi için de bir örnek verilmiştir:

Tek-GPU ve CPU Eğitim Örneği

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640

Daha fazla ayrıntı için Tren Ayarları bölümüne bakın.

Ultralytics YOLO11 'un Tren modunun temel özellikleri nelerdir?

Ultralytics YOLO11 'un Tren modunun temel özellikleri şunlardır:

  • Otomatik Veri Seti İndirme: COCO, VOC ve ImageNet gibi standart veri kümelerini otomatik olarak indirir.
  • ÇokluGPU Desteği: Daha hızlı işleme için eğitimi birden fazla GPU'da ölçeklendirin.
  • Hiperparametre Yapılandırması: Hiperparametreleri YAML dosyaları veya CLI argümanları aracılığıyla özelleştirin.
  • Görselleştirme ve İzleme: Daha iyi içgörüler için eğitim metriklerinin gerçek zamanlı takibi.

Bu özellikler eğitimi verimli ve ihtiyaçlarınıza göre özelleştirilebilir hale getirir. Daha fazla ayrıntı için Eğitim Modunun Temel Özellikleri bölümüne bakın.

Ultralytics YOLO11 adresinde yarıda kesilen bir oturumdan eğitime nasıl devam edebilirim?

Kesilen bir oturumdan eğitime devam etmek için resume argümanına True ve son kaydedilen kontrol noktasının yolunu belirtin.

Özgeçmiş Eğitim Örneği

from ultralytics import YOLO

# Load the partially trained model
model = YOLO("path/to/last.pt")

# Resume training
results = model.train(resume=True)
yolo train resume model=path/to/last.pt

Daha fazla bilgi için Kesilen Eğitimlere Devam Etme bölümüne bakın.

YOLO11 modellerini Apple silikon çipleri üzerinde eğitebilir miyim?

Evet, Ultralytics YOLO11 , Metal Performans Gölgelendiricileri (MPS) çerçevesini kullanan Apple silikon yongalarında eğitimi destekler. Eğitim cihazınız olarak 'mps' adresini belirtin.

MPS Eğitim Örneği

from ultralytics import YOLO

# Load a pretrained model
model = YOLO("yolo11n.pt")

# Train the model on Apple silicon chip (M1/M2/M3/M4)
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device="mps")
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640 device=mps

Daha fazla ayrıntı için Apple Silicon MPS Eğitim bölümüne bakın.

Yaygın eğitim ayarları nelerdir ve bunları nasıl yapılandırabilirim?

Ultralytics YOLO11 argümanlar aracılığıyla yığın boyutu, öğrenme hızı, epoklar ve daha fazlası gibi çeşitli eğitim ayarlarını yapılandırmanıza olanak tanır. İşte kısa bir genel bakış:

Tartışma Varsayılan Açıklama
model None Eğitim için model dosyasının yolu.
data None Veri kümesi yapılandırma dosyasının yolu (örn, coco8.yaml).
epochs 100 Toplam eğitim epok sayısı.
batch 16 Toplu iş boyutu, tamsayı veya otomatik mod olarak ayarlanabilir.
imgsz 640 Eğitim için hedef görüntü boyutu.
device None Eğitim için hesaplamalı cihaz(lar) cpu, 0, 0,1veya mps.
save True Eğitim kontrol noktalarının ve nihai model ağırlıklarının kaydedilmesini sağlar.

Eğitim ayarları hakkında ayrıntılı bir kılavuz için Eğitim Ayarları bölümüne bakın.

📅1 yıl önce oluşturuldu ✏️ 1 ay önce güncellendi

Yorumlar