IniziaInizia gratis

Creare un generatore e un discriminatore

A PyBooks, ti è stato affidato il compito di lavorare su un generatore di testo automatico per aiutare gli scrittori a superare il blocco dello scrittore. Usando le GAN, ovvero le Generative Adversarial Networks, pensi di poter creare un sistema in cui una rete, il generatore, crea nuovo testo mentre l’altra rete, il discriminatore, ne valuta l’autenticità. Per farlo, devi inizializzare sia una rete generatore sia una rete discriminatore. Queste reti verranno quindi addestrate una contro l’altra per creare testo nuovo e credibile.

Sono già stati importati per te: torch, torch.nn come nn.

Questo esercizio fa parte del corso

Deep Learning per il testo con PyTorch

Visualizza il corso

Istruzioni dell'esercizio

  • Definisci la classe Generator con uno strato lineare per dati sequenziali e una funzione di attivazione sigmoid.
  • Nel metodo forward() della classe Generator, passa l'input attraverso il modello definito.
  • Definisci una classe Discriminator con gli stessi strati e la stessa funzione di attivazione, facendo attenzione a definire correttamente le dimensioni.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Define the generator class
class Generator(nn.Module):
    def __init__(self):
        super().__init__()
        self.model = nn.____(nn.____(____), nn.____())
    def forward(self, x):
        return self.____(x)

# Define the discriminator networks
class Discriminator(nn.Module):
    def __init__(self):
        super().__init__()
        self.model = nn.____(nn.____(____), nn.____())
    def forward(self, x):
        return self.model(x)
Modifica ed esegui il codice