构建生成器与判别器
在 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)