Construindo um gerador e um discriminador
Na PyBooks, você ficou responsável por trabalhar em um gerador automático de texto para ajudar escritores a superar o bloqueio criativo. Usando GANs, ou Generative Adversarial Networks, você acredita que pode criar um sistema em que uma rede, o gerador, cria novos textos, enquanto a outra, o discriminador, avalia sua autenticidade. Para isso, você precisa inicializar tanto a rede geradora quanto a discriminadora. Essas redes serão então treinadas uma contra a outra para gerar textos novos e convincentes.
O seguinte já foi importado para você: torch, torch.nn como nn.
Este exercício faz parte do curso
Deep Learning para Texto com PyTorch
Instruções do exercício
- Defina a classe
Generatorcom uma camada linear para dados sequenciais e uma função de ativação sigmoid. - Passe a entrada pelo modelo definido no método
forward()da classeGenerator. - Defina uma classe
Discriminatorcom as mesmas camadas e função de ativação, tomando cuidado ao definir as dimensões.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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)