私の理解では、エポックはデータセット全体に対して任意に頻繁に繰り返される実行であり、それは部分的に処理され、いわゆるバッチです。損失が計算されるたびtrain_on_batch
に重みが更新され、次のバッチでより良い結果が得られます。これらの損失は、my to NN の品質と学習状態の指標です。
いくつかのソースでは、エポックごとに損失が計算 (および出力) されています。したがって、これを正しく行っているかどうかはわかりません。
現時点で、私のGANは次のようになっています。
for epoch:
for batch:
fakes = generator.predict_on_batch(batch)
dlc = discriminator.train_on_batch(batch, ..)
dlf = discriminator.train_on_batch(fakes, ..)
dis_loss_total = 0.5 * np.add(dlc, dlf)
g_loss = gan.train_on_batch(batch,..)
# save losses to array to work with later
これらの損失は、バッチごとです。エポックのためにそれらを取得するにはどうすればよいですか? 余談ですが、エポックの損失は何のために必要ですか?