Görüntü sınıflandırıcılarını eğitme

PyTorch ile Orta Düzey Deep Learning

Michal Oleszak

Machine Learning Engineer

Veri artırmaya dönüş

Bir kedi resmi.

PyTorch ile Orta Düzey Deep Learning

Veri artırmaya dönüş

Yatay çevrilmiş ve döndürülmüş bir kedi resmi.

PyTorch ile Orta Düzey Deep Learning

Neler artırılmamalı

Sarı limon ve yeşil misket limonu aynı görünüyor, sadece renkleri farklı.

PyTorch ile Orta Düzey Deep Learning

Neler artırılmamalı

Sarı limon ve yeşil misket limonu aynı görünüyor, sadece renkleri farklı.

PyTorch ile Orta Düzey Deep Learning

Neler artırılmamalı

"W" harfi dikey çevrilince "M" gibi görünür.

  • Artırmalar etiketleri etkileyebilir
  • Bunun kafa karışıklığı yaratıp yaratmayacağı göreve bağlıdır
  • Artırmaları her zaman veri ve göreve göre seçiniz
PyTorch ile Orta Düzey Deep Learning

Bulut sınıflandırma için artırmalar

Bulut resimlerinden örnek.

  • Rastgele döndürme: modeli farklı bulut açılarına maruz bırakır
  • Yatay çevirme: farklı gökyüzü bakış açılarını simüle eder
  • Otomatik kontrast ayarı: farklı aydınlatmaları simüle eder
train_transforms = transforms.Compose([
    transforms.RandomHorizontalFlip(),
    transforms.RandomRotation(45),
    transforms.RandomAutocontrast(),
    transforms.ToTensor(),
    transforms.Resize((128, 128))
])
PyTorch ile Orta Düzey Deep Learning

Çapraz entropi kaybı

  • İkili sınıflandırma: ikili çapraz entropi (BCE) kaybı
  • Çok sınıflı sınıflandırma: çapraz entropi kaybı
  • criterion = nn.CrossEntropyLoss()
PyTorch ile Orta Düzey Deep Learning

Görüntü sınıflandırıcı eğitim döngüsü

net = Net(num_classes=7)

criterion = nn.CrossEntropyLoss()
optimizer = optim.Adam(net.parameters(), lr=0.001)


for epoch in range(10): for images, labels in dataloader_train: optimizer.zero_grad() outputs = net(images) loss = criterion(outputs, labels) loss.backward() optimizer.step()
PyTorch ile Orta Düzey Deep Learning

Hadi pratik yapalım!

PyTorch ile Orta Düzey Deep Learning

Preparing Video For Download...