Створення генератора й дискримінатора
У PyBooks вам доручено працювати над автоматичним генератором тексту, щоб допомагати авторам долати творче вигорання. Використовуючи GAN (Generative Adversarial Networks — змагальні генеративні мережі), ви можете побудувати систему, де одна мережа — генератор — створює новий текст, а інша — дискримінатор — оцінює його правдоподібність. Для цього потрібно ініціалізувати як мережу-генератор, так і мережу-дискримінатор. Далі ці мережі тренуватимуться одна проти одної, щоб генерувати новий, переконливий текст.
Для вас уже імпортовано: torch, torch.nn як nn.
Ця вправа є частиною курсу
Глибоке навчання для тексту з PyTorch
Інструкції до вправи
- Визначте клас
Generatorз лінійним шаром для послідовних даних і сигмоїдною функцією активації. - Пропустіть вхід через визначену модель у методі
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)