НачатьНачать бесплатно

Создание генератора и дискриминатора

В компании 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)
Редактировать и запускать код