ile Model Eğitimi Ultralytics YOLO
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.
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
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
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:
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:
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:
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.
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
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
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
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,1 veya 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.