Crear un generador y un discriminador
En PyBooks, te han encargado trabajar en un generador de texto automático para ayudar a los escritores a superar el bloqueo creativo. Crees que, usando GANs (Generative Adversarial Networks), puedes crear un sistema donde una red, el generador, cree texto nuevo mientras que la otra red, el discriminador, evalúe su autenticidad. Para ello, necesitas inicializar tanto la red generadora como la discriminadora. Luego, estas redes se entrenarán una contra la otra para producir texto nuevo y verosímil.
Ya tienes importado lo siguiente: torch, torch.nn como nn.
Este ejercicio forma parte del curso
Deep Learning para texto con PyTorch
Instrucciones del ejercicio
- Define la clase
Generatorcon una capa lineal para datos secuenciales y una función de activación sigmoide. - Pasa la entrada por el modelo definido en el método
forward()de la claseGenerator. - Define una clase
Discriminatorcon las mismas capas y función de activación, prestando atención al definir las dimensiones.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# 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)