开始使用免费开始使用

构建生成器与判别器

在 PyBooks,您需要开发一个自动文本生成器,帮助作者缓解写作障碍。通过使用 GAN(Generative Adversarial Networks,生成对抗网络),您可以让一个网络(生成器)生成新文本,而另一个网络(判别器)评估其"真实性"。为此,您需要初始化生成器和判别器两个网络。随后,这两个网络将相互对抗训练,产出可信的新文本。

以下内容已为您导入:torch,以及将 torch.nn 导入为 nn

本练习是课程的一部分

使用 PyTorch 的文本深度学习

查看课程

练习说明

  • 定义 Generator 类,包含用于序列数据的线性层和 sigmoid 激活函数。
  • Generator 类的 forward() 方法中,将输入按定义的模型依次传递。
  • 定义 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)
编辑并运行代码