Toplu iş boyutunun makine öğrenimi eğitim hızı ve doğruluğu üzerindeki etkisini öğrenin. Donanım kısıtlamalarını keşfedin ve AutoBatch kullanarak Ultralytics optimize edin.
Makine öğrenimi ve özellikle derin öğrenme alanında, Toplu İşlem Boyutu, model eğitiminin bir yinelemesinde kullanılan eğitim örneklerinin sayısını ifade eder. Tüm eğitim verilerini bir kerede sinir ağına beslemek yerine (bu, bellek kısıtlamaları nedeniyle genellikle hesaplama açısından imkansızdır), veri kümesi toplu işlemler adı verilen daha küçük alt kümelere bölünür. Model bir partiyi işler, hatayı hesaplar ve bir sonraki partiye geçmeden önce geri yayılım yoluyla iç model ağırlıklarını günceller. Bu hiperparametre, hem eğitimin hızını hem de öğrenme sürecinin istikrarını belirlemede önemli bir rol oynar.
Parti büyüklüğünün seçimi, genellikle stokastik gradyan inişinin bir varyantı olan optimizasyon algoritmasının kayıp manzarasını nasıl gezindiğini temelden değiştirir.
Uygulayıcılar, genellikle tamamen teorik tercihlerden ziyade donanım sınırlamalarına göre bir parti boyutu seçmek zorundadır. Derin öğrenme modelleri, özellikle transformatörler veya gelişmiş evrişimli ağlar gibi büyük mimariler, VRAM'de depolanır. GPU.
NVIDIA NVIDIA CUDA kullanıldığında, VRAM'de model parametreleri, girdi verileri grubu ve gradyan hesaplaması için gerekli ara aktivasyon çıktıları bulunmalıdır. Grup boyutu kullanılabilir belleği aşarsa, eğitim "Bellek Yetmezliği" (OOM) hatasıyla çöker. Karışık hassasiyetli eğitim gibi teknikler genellikle bellek kullanımını azaltmak için kullanılır ve aynı donanımda daha büyük grup boyutlarına olanak tanır.
Eğitimi etkili bir şekilde yapılandırmak için, eğitim döngüsünde toplu iş boyutunu diğer zamansal terimlerden ayırmak önemlidir. döngü.
Toplu iş boyutunu ayarlamak, çeşitli sektörlerde bilgisayar görme çözümleri uygularken rutin bir gerekliliktir.
Kullanırken Ultralytics Python paketi, toplu iş boyutunu ayarlamak
çok kolaydır. Sabit bir tamsayı belirtebilir veya dinamik batch=-1 ayar, kullanır
the AutoBatch özelliği donanımınızın güvenli bir şekilde işleyebileceği
maksimum toplu iş boyutunu otomatik olarak hesaplamak için.
Aşağıdaki örnek, belirli bir toplu iş ayarı kullanarak YOLO26 modelini(hız ve doğruluk açısından en son standart) nasıl eğiteceğinizi göstermektedir.
from ultralytics import YOLO
# Load the YOLO26n model (nano version for speed)
model = YOLO("yolo26n.pt")
# Train on the COCO8 dataset
# batch=16 is manually set.
# Alternatively, use batch=-1 for auto-tuning based on available GPU memory.
results = model.train(data="coco8.yaml", epochs=5, batch=16)
Büyük ölçekli deneyleri yönetmek ve farklı parti boyutlarının eğitim metriklerinizi nasıl etkilediğini görselleştirmek için, Ultralytics gibi araçlar kayıt tutma ve karşılaştırma için kapsamlı bir ortam sağlar. Parti boyutunun uygun hiperparametre ayarlaması, genellikle modelinizden en iyi performansı elde etmenin son adımıdır.