我正在与keras一起训练WGAN,评论者模型按以下方式编译:
self.critic_combined.compile(optimizer=k.optimizers.Adam(0.0001, beta_1=0.5, beta_2=0.9),
loss=[self.wasserstein_loss,
self.wasserstein_loss,
self.gradient_penalty_loss],
loss_weights=[1, 1, 10])
当我与火车一起批量运行时:
result = wgan.critic_combined.train_on_batch(x=[true_poses, *gen_input],
y=[fake, valid, dummy])
print(result)
我得到了预期的输出:(即总损失和未加权的部分损失)
[39.321045,-5.2513027,5.628069,3.8944278]
但是当我打电话给model.fit()
时,keras输出以下内容:
15000/15000 [=============================]-1s 46us / step-损耗: 22.1435-评论家损失:2.9058
我什至不知道Critic_loss
是指什么损失。如何使其像train_on_batch()
那样正确地实现输出损耗功能?
任何帮助表示赞赏)
这是我模型的代码:https://gist.github.com/mcstarioni/a577ce25baf4860e8941649f04720a74