ÎncepețiÎncepe gratuit

Antrenarea unui model GAN

Echipa ta de la PyBooks a făcut progrese bune în construirea generatorului de text folosind o Rețea Adversarială Generativă (GAN). Ați definit cu succes rețelele generator și discriminator. Acum e momentul să le antrenați. Ultimul pas este să generați câteva date false și să le comparați cu datele reale, pentru a vedea cât de bine a învățat GAN-ul. Am folosit tensori ca intrare, iar ieșirea va încerca să semene cu tensorii de intrare. Echipa PyBooks poate folosi apoi aceste date sintetice pentru analiza textului, deoarece caracteristicile vor avea aceleași relații ca datele text.

Generatorul și discriminatorul au fost inițializați și salvați în generator, respectiv discriminator.

Următoarele variabile au fost inițializate în exercițiu:

  • seq_length = 5: Lungimea fiecărei secvențe de date sintetice
  • num_sequences = 100: Numărul total de secvențe generate
  • num_epochs = 50: Numărul de treceri complete prin set de date
  • print_every = 10: Frecvența de afișare a rezultatelor, la fiecare 10 epoci

Acest exercițiu face parte din cursul

Deep Learning pentru text cu PyTorch

Vezi cursul

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# Define the loss function and optimizer
criterion = nn.____()
optimizer_gen = ____(generator.parameters(), lr=0.001)
optimizer_disc = ____(discriminator.parameters(), lr=0.001)

for epoch in range(num_epochs):
    for real_data in data:
      	# Unsqueezing real_data and prevent gradient recalculations
        real_data = real_data.____(0)
        noise = torch.rand((1, seq_length))
        fake_data = generator(noise)
        disc_real = discriminator(real_data)
        disc_fake = discriminator(fake_data.____())
        loss_disc = criterion(disc_real, torch.ones_like(disc_real)) + criterion(disc_fake, torch.zeros_like(disc_fake))
        optimizer_disc.zero_grad()
        loss_disc.backward()
        optimizer_disc.step()
Editează și rulează codul