Я тренирую 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()
керасвыводит следующее:
15000/15000 [=============================] - 1 с46us / step - потеря: 22.1435 - Critic_loss: 2.9058
Я даже не могу понять, к какой потере относится Critic_loss
.Как сделать так, чтобы выходные потери работали правильно, как с train_on_batch()
?Любая помощь приветствуется)
Вот код моей модели: https://gist.github.com/mcstarioni/a577ce25baf4860e8941649f04720a74