我查看了一些用于在 Keras 中实现 GAN 的代码/教程(教程: 1和2 )。
两者都进行批量训练,如下所示:
for epoch in range(epochs):
# ---------------------
# Train Discriminator
# ---------------------
# Select a random batch of images
# Generate a batch of new images
# Train the discriminator
# ---------------------
# Train Generator
# ---------------------
在上面的代码中(取自 (2) 中的第 92 行),它们循环遍历所有 epoch,但是对于每个 epoch,只训练一个批次。据我了解,对于每个 epoch,我们应该训练很多批次;这样我们就可以遍历整个数据集。例如,如果我们有 100 个样本,批量大小为 10,那么对于每个 epoch,我们训练 10 个大小为 10 的批次。为什么在这段代码中,他们只在每个 epoch 上训练一个批次?对不起,如果这是一个基本问题;我对机器学习很陌生。