我一直在尝试修改TensorFlow 教程中制作的这个DCGAN。我希望它生成一个图表,显示生成器和鉴别器随时间的训练损失。首先,我尝试像这样简单地打印每个时期的生成器损失:
def train_step(images):
noise = tf.random.normal([BATCH_SIZE, noise_dim])
with tf.GradientTape() as gen_tape, tf.GradientTape() as disc_tape:
generated_images = generator(noise, training=True)
real_output = discriminator(images, training=True)
fake_output = discriminator(generated_images, training=True)
gen_loss = generator_loss(fake_output)
disc_loss = discriminator_loss(real_output, fake_output)
print(gen_loss) #What I added
输出如下:
张量("binary_crossentropy/weighted_loss/value:0", shape=(), dtype=float32)
当我尝试通过说print(gen_loss.numpy())将其转换为 numpy 数组时,出现以下错误:AttributeError: 'Tensor' object has no attribute 'numpy'。我已经尝试过这里提到的解决方案,但没有运气。
有谁知道在这种情况下我如何可视化训练损失?