ПочатиПочніть безкоштовно

Створення генератора й дискримінатора

У 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)
Редагувати та запускати код