Создание генератора и дискриминатора
В компании PyBooks вам поручено разработать автоматический генератор текста, который поможет писателям справляться с творческим кризисом. С помощью GAN (генеративно-состязательных сетей) можно создать систему, в которой одна сеть — генератор — создаёт новый текст, а другая — дискриминатор — оценивает его правдоподобность. Для этого необходимо инициализировать обе сети. В дальнейшем они будут обучаться в противостоянии друг с другом, чтобы генерировать убедительный текст.
Для вас уже импортированы: torch, torch.nn как nn.
Это упражнение является частью курса
Глубокое обучение для работы с текстом на PyTorch
Инструкции к упражнению
- Определите класс
Generatorс линейным слоем для последовательных данных и функцией активации sigmoid. - Передайте входные данные через определённую модель в методе
forward()классаGenerator. - Определите класс
Discriminatorс теми же слоями и функцией активации, уделив особое внимание размерностям.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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)