MulaiMulai sekarang secara gratis

Loop pelatihan pengklasifikasi gambar

Saatnya melatih pengklasifikasi gambar! Anda akan menggunakan Net yang Anda definisikan sebelumnya dan melatihnya untuk membedakan tujuh jenis awan.

Untuk mendefinisikan loss dan optimizer, Anda akan menggunakan fungsi dari torch.nn dan torch.optim, yang masing-masing telah diimpor sebagai nn dan optim. Anda tidak perlu mengubah apa pun pada loop pelatihan itu sendiri: ini persis seperti yang telah Anda tulis sebelumnya, dengan sedikit logika tambahan untuk menampilkan nilai loss selama pelatihan.

Latihan ini adalah bagian dari kursus

Deep Learning Lanjutan dengan PyTorch

Lihat Kursus

Petunjuk latihan

  • Definisikan model menggunakan kelas Net Anda dengan num_classes disetel ke 7 dan tetapkan ke net.
  • Definisikan fungsi loss sebagai cross-entropy loss dan tetapkan ke criterion.
  • Definisikan optimizer sebagai Adam, berikan parameter model dan laju pembelajaran 0.001, lalu tetapkan ke optimizer.
  • Mulai for-loop pelatihan dengan mengiterasi images dan labels pelatihan dari dataloader_train.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Define the model
____ = ____
# Define the loss function
____ = ____
# Define the optimizer
____ = ____

for epoch in range(3):
    running_loss = 0.0
    # Iterate over training batches
    ____
        optimizer.zero_grad()
        outputs = net(images)
        loss = criterion(outputs, labels)
        loss.backward()
        optimizer.step()
        running_loss += loss.item()
    
    epoch_loss = running_loss / len(dataloader_train)
    print(f"Epoch {epoch+1}, Loss: {epoch_loss:.4f}")
Edit dan Jalankan Kode