Melatih pengklasifikasi gambar

Deep Learning Lanjutan dengan PyTorch

Michal Oleszak

Machine Learning Engineer

Tinjauan kembali augmentasi data

Gambar kucing.

Deep Learning Lanjutan dengan PyTorch

Tinjauan kembali augmentasi data

Gambar kucing dibalik horizontal dan diputar.

Deep Learning Lanjutan dengan PyTorch

Apa yang tidak boleh diaugmentasi

Lemon kuning dan jeruk nipis hijau tampak sama, hanya beda warna.

Deep Learning Lanjutan dengan PyTorch

Apa yang tidak boleh diaugmentasi

Lemon kuning dan jeruk nipis hijau tampak sama, hanya beda warna.

Deep Learning Lanjutan dengan PyTorch

Apa yang tidak boleh diaugmentasi

Huruf "W" setelah flip vertikal tampak seperti huruf "M".

  • Augmentasi dapat memengaruhi label
  • Apakah ini membingungkan tergantung tugasnya
  • Selalu pilih augmentasi sesuai data dan tugas!
Deep Learning Lanjutan dengan PyTorch

Augmentasi untuk klasifikasi awan

Contoh foto awan.

  • Rotasi acak: kenalkan sudut formasi awan yang beragam
  • Flip horizontal: simulasikan sudut pandang langit berbeda
  • Penyesuaian autokontras: simulasikan kondisi pencahayaan berbeda
train_transforms = transforms.Compose([
    transforms.RandomHorizontalFlip(),
    transforms.RandomRotation(45),
    transforms.RandomAutocontrast(),
    transforms.ToTensor(),
    transforms.Resize((128, 128))
])
Deep Learning Lanjutan dengan PyTorch

Loss Cross-Entropy

  • Klasifikasi biner: loss binary cross-entropy (BCE)
  • Klasifikasi multi-kelas: loss cross-entropy
  • criterion = nn.CrossEntropyLoss()
Deep Learning Lanjutan dengan PyTorch

Loop pelatihan klasifikasi gambar

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()
Deep Learning Lanjutan dengan PyTorch

Ayo berlatih!

Deep Learning Lanjutan dengan PyTorch

Preparing Video For Download...