我正在分析一个在图像生成中使用 DCGAN + Reptile的元学习类。
关于这段代码,我有两个问题。
第一个问题:为什么在 DCGAN 训练期间(第 74 行)
training_batch = torch.cat ([real_batch, fake_batch])
是否创建了由真实示例(real_batch)和假示例(fake_batch)组成的training_batch?为什么要通过混合真假图像来进行训练?我见过很多 DCGAN,但从来没有以这种方式进行过训练。
第二个问题:为什么在训练时使用了 normalize_data 函数(第 49 行)和 unnormalize_data 函数(第 55 行)?
def normalize_data(data):
data *= 2
data -= 1
return data
def unnormalize_data(data):
data += 1
data /= 2
return data
该项目使用 Mnist 数据集,如果我想使用像 CIFAR10 这样的颜色数据集,我是否必须修改这些规范化?