我在试着理解Google's colab code。你能解释一下为什么他们会比较real_output
和1的数组,fake_output
和0的数组(纯黑色)吗?你知道吗
def discriminator_loss(real_output, fake_output):
real_loss = cross_entropy(tf.ones_like(real_output), real_output)
fake_loss = cross_entropy(tf.zeros_like(fake_output), fake_output)
total_loss = real_loss + fake_loss
return total_loss
def generator_loss(fake_output):
return cross_entropy(tf.ones_like(fake_output), fake_output)
作为重述,在GAN中,你有一个生成图像的生成器。鉴别器是另一个网络,它试图预测是否有任何特定的图像来自发生器。我们将把生成器创建的图像(也称为“赝品”)标记为
0
,将真实图像标记为1
。鉴别器输出在[0, 1]
范围内。你知道吗你应该注意到生成器只在“假”图像上训练,生成器不能在真实图像上训练,因为它没有生成它们。您还应该注意到生成器已经从鉴别器交换了标签,它试图实现与鉴别器相反的目标。你知道吗
相关问题 更多 >
编程相关推荐