Ultralytics YOLO27: Bekleme listesine katıl.
YOLO'yu lisansla
Ultralytics Sözlüğüne dön

Epoch

Bir epoch, modelin eğitim verisinin tamamını bir kez işlemesidir. Epoch'ların batch'ler ve iterasyonlarla ilişkisini ve kaç epoch eğitim yapman gerektiğini öğren.

Bir epok, makine öğrenmesi modelinin tüm eğitim veri kümesini baştan sona bir kez işlemesidir. Bir epok sırasında her eğitim örneği, model ağırlıklarının güncellenmesine tam olarak bir kez katkıda bulunur. Derin öğrenme modelleri tek bir geçişte nadiren yeterince öğrenir; bu nedenle eğitim birçok epok boyunca sürer ve ağ tahminlerini iyileştirdikçe eğitim verilerindeki hata genellikle her epokta azalır.

Epoch, Batch ve İterasyon Karşılaştırması#

Bir eğitim çalışmasının yapısını üç terim tanımlar ve bunların her biri kendisinden öncekinin içinde yer alır:

  • Epok: Eğitim veri kümesinin tamamında bir kez geçiş.
  • Yığın: Tek bir adımda birlikte işlenen örnekler grubu. Veri kümeleri genellikle tek seferde GPU belleğine sığmaz; bu nedenle her epok, çoğunlukla veriler karıştırıldıktan sonra yığınlara bölünür.
  • İterasyon: Bir yığın üzerinde kayıp fonksiyonu hesaplandıktan ve gradyanları geriye yayılım yoluyla geri aktıktan sonra yapılan tek bir ağırlık güncellemesi. "Adım" da aynı anlamda kullanılır.

Epok başına iterasyon sayısı, veri kümesinin boyutunun yığın boyutuna bölünüp yukarı yuvarlanmasına eşittir. Yığın boyutu 100 olan 1.000 görüntülük bir veri kümesi, epok başına 10 iterasyon gerektirir; dolayısıyla 50 epok, 500 ağırlık güncellemesi yapar. PyTorch içinde bu yapı, iç içe iki döngü olarak görünür: epoklar üzerinde çalışan bir dış döngü ve bir DataLoader tarafından sunulan yığınlar üzerinde çalışan bir iç döngü.

import torch
from torch.utils.data import DataLoader, TensorDataset

torch.manual_seed(0)

# 1,000 noisy samples of the line y = 3x + 2, served in shuffled batches of 100
x = torch.rand(1000, 1)
y = 3 * x + 2 + 0.1 * torch.randn(1000, 1)
loader = DataLoader(TensorDataset(x, y), batch_size=100, shuffle=True)

model = torch.nn.Linear(1, 1)
optimizer = torch.optim.SGD(model.parameters(), lr=0.5)

for epoch in range(5):  # one epoch = one full pass over all 1,000 samples
    for xb, yb in loader:  # 1,000 / 100 = 10 iterations per epoch
        loss = torch.nn.functional.mse_loss(model(xb), yb)
        optimizer.zero_grad()
        loss.backward()
        optimizer.step()
    print(f"Epoch {epoch + 1}: {len(loader)} iterations, last batch loss {loss.item():.4f}")

Her epokta 10 iterasyon çalışır ve model gerçek doğruya yakınsadıkça son yığındaki kayıp ilk epoktan sonra 0.1096'dan beşinci epoktan sonra 0.0088'e düşer. Eğitimde veri artırma kullanıldığında her epokta her görüntünün yeni dönüştürülmüş bir sürümü görülür; böylece sonraki epoklar aynı görüntüleri aynen tekrarlamak yerine çeşitlilik ekler.

Epok Sayısını Seçme#

Epok sayısı, hiperparametre ayarının temel ayarlarından biridir. Çok az epok, modelin hem eğitim hem de doğrulama verilerinde yüksek hata vererek yetersiz öğrenmesine yol açar. Çok fazla epok ise modelin eğitim örneklerini ezberlemeye başlaması nedeniyle eğitim kaybı düşmeye devam ederken doğrulama puanının durakladığı veya gerilediği aşırı öğrenmeye yol açar. Uygun sayı; veri kümesinin ve modelin boyutuna, öğrenme hızı çizelgesine ve eğitimin aktarım öğrenmesi yoluyla önceden eğitilmiş ağırlıklarla başlayıp başlamadığına bağlıdır. Ölçek de yanıtı değiştirir: küçük görsel veri kümeleri genellikle yüzlerce epok boyunca eğitilirken büyük dil modelleri verilerinin büyük bölümünü bir kereden az görür; GPT-3 ise filtrelenmiş Common Crawl verilerinde 0,44 epok tamamlamıştır.

Erken durdurma, bu seçimi otomatikleştirir. Model her epoktan sonra doğrulama verilerinde değerlendirilir, en iyi kontrol noktası saklanır ve sabır adı verilen belirli sayıda epok boyunca doğrulama puanı iyileşmediğinde eğitim sona erer.

Epok Tabanlı Eğitim Zamanlamaları#

Durdurma noktasının yanı sıra, öğrenme hızı ısınması ve azaltılması ya da artırma gücü gibi birçok eğitim ayarı epok çizelgesine göre değişir. Ultralytics YOLO eğitiminde, epochs ve patience varsayılan olarak 100'dür; öğrenme hızı ilk 3 epok boyunca ısınır ve modelin gerçek girdilere benzeyen görüntülerle eğitimi tamamlaması için mozaik artırma son 10 epokta kapatılır (close_mosaic=10). YOLO26 eğitim tarifi, sayının model boyutuna göre ne kadar değiştiğini gösterir: Objects365 üzerinde 150 epok ön eğitimden sonra COCO ince ayarı YOLO26n için 245, YOLO26x içinse 40 epok sürmüştür.

from ultralytics import YOLO

# Önceden eğitilmiş bir YOLO26n modeli yükle
model = YOLO("yolo26n.pt")

# 50 epok boyunca eğitim yap: COCO8 eğitim görüntülerinin tamamında 50 geçiş
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)

Bu çalışma sırasında eğitici, YOLO26 modelini her epoktan sonra doğrular, her seferinde last.pt dosyasının üzerine yazar ve tespit için mAP50-95 olan doğrulama uygunluk değeri yeni bir zirveye ulaştığında best.pt dosyasını kaydeder.

Çözümleri keşfet

Sporda bilgisayarlı görü

Sporda bilgisayarlı görü

Ultralytics YOLO'nun oyuncu ve top takibi, performans analitiği, antrenörlük içgörüleri ve sporcu rehabilitasyonuyla spor alanında görsel yapay zekâyı nasıl güçlendirdiğini keşfet.
Daha fazla bilgi edin
Hava görüntüleri için bilgisayarlı görü

Hava görüntüleri için bilgisayarlı görü

İHA ve hava görüntülerini Ultralytics YOLO ile tarım, su ürünleri yetiştiriciliği, koruma çalışmaları ve jeo-uzamsal analiz için gerçek zamanlı içgörülere dönüştür.
Daha fazla bilgi edin
Havacılıkta bilgisayarlı görü

Havacılıkta bilgisayarlı görü

Uçak denetimi, pistteki yabancı madde tespiti, havaalanı yer operasyonları ve kompozit malzeme kusurlarının tespiti için Ultralytics YOLO ile havacılık ve uzay sektöründe bilgisayarlı görü uygula.
Daha fazla bilgi edin
Güvenlikte bilgisayarlı görü

Güvenlikte bilgisayarlı görü

Ultralytics YOLO modelleriyle her sahayı koru. Görsel yapay zekâ; çevre izleme, tehdit tespiti, plaka tanıma ve iş yeri güvenliğini destekler.
Daha fazla bilgi edin
Robotikte bilgisayarlı görü

Robotikte bilgisayarlı görü

Ultralytics YOLO modelleriyle daha akıllı makinelere güç ver. Robotikte görsel yapay zekâ; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü destekler.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Görüntü yapay zekâsı; paket denetimini, ayrıştırmayı, araç takibini ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Perakendede bilgisayarlı görü

Perakendede bilgisayarlı görü

Ultralytics YOLO modelleriyle perakendeyi yeniden tasarla. Görüntü yapay zekâsı; envanter takibini, raf izlemeyi, kuyruk yönetimini ve daha kapsamlı müşteri analizlerini mümkün kılar.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

Sağlık hizmetlerinde bilgisayarlı görü

Ultralytics YOLO modelleriyle sağlık çözümleri geliştir. Sağlık hizmetlerinde görüntü yapay zekâsı; daha hızlı tıbbi görüntüleme, daha akıllı tanı ve hasta takibini mümkün kılar.
Daha fazla bilgi edin
Üretimde bilgisayarlı görü

Üretimde bilgisayarlı görü

Ultralytics YOLO modelleriyle üretimi optimize et. Görsel yapay zekâ; kalite kontrolünü, kusur tespitini, kişisel koruyucu donanım uyumunu ve montaj hattı otomasyonunu destekler.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görüden yararlan. Görsel yapay zekâ; daha akıllı yollar için yol güvenliğini, sürüş desteğini ve araç otomasyonunu ileri taşır.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görüntü yapay zekâsı kazandır. Daha yüksek ve akıllı verim için mahsul izleme, hayvan takibi ve hassas tarımı destekle.
Daha fazla bilgi edin

Geleceğin yapay zekasını birlikte inşa edelim!

Makine öğreniminin geleceğine yolculuğuna başla