gpt4 book ai didi

python - Keras GAN 批量训练

转载 作者:行者123 更新时间:2023-11-28 18:10:24 26 4
gpt4 key购买 nike

我看过一些在 Keras 中实现 GAN 的代码/教程(教程:12)。

两者都按如下方式进行批量训练:

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,只训练一个批处理。据我了解,对于每个时期,我们应该训练很多批处理;这样我们就可以遍历整个数据集。例如,如果我们有 100 个样本,批量大小为 10,那么对于每个时期,我们训练 10 个大小为 10 的批处理。为什么在这段代码中,每个时期只训练一个批处理?对不起,如果这是一个基本问题;我对机器学习还很陌生。

最佳答案

当您进行 GAN 时,与正常的神经网络训练相比,几乎没有什么变化。

  1. 您的输入数据会随着时间的推移而演变。每次更新网络中的权重时,来自生成器网络的人工图像都会发生变化。
  2. 您必须同时训练两个网络。如果您随后更新生成器,则在大量数据上训练鉴别器是没有意义的。因为这会改变判别器学习的数据分布。因此,您可能希望经常更新这两个网络。因此,最好每批更新两个网络。

我不知道他们为什么将此更新称为纪元,我猜你可能不同意这个命名。但请记住,当训练数据固定时,epoch 和 batch 才有意义。在这种情况下,它不是,所以也许他们只是称之为纪元,因为他们找不到更好的词。

关于python - Keras GAN 批量训练,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51067176/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com