【问题标题】:Keras fit_generator: does model learn with validation_data as well?Keras fit_generator:模型是否也使用验证数据进行学习?
【发布时间】:2021-11-20 21:33:28
【问题描述】:

我创建了一个使用 fit_generator 和 validation_data 的 UNET,如下所示:

model.fit_generator(train_gen, 
                validation_data=valid_gen, 
                steps_per_epoch=train_steps, 
                validation_steps=valid_steps, 
                epochs=epochs)

我想知道:在不同的 Epochs 中,keras 模型在运行验证数据时是否也会学习? 我怀疑它不会,毕竟如果它确实如此,val_acc 在几个时期就不会是一个有价值的性能指标。但我无法在任何地方找到我的猜测的确认。 想法?

其他细节: 正如人们所预料的那样,我的代码中的 valid_gen 和 train_gen 是使用不同的数据集创建的,之前通过拆分数据库来定义:

train_gen = DataGen(train_list, path_general, image_size=image_size, batch_size=batch_size)
valid_gen = DataGen(valid_list, path_general, batch_size=batch_size, image_size=image_size)

【问题讨论】:

    标签: tensorflow validation keras unity3d-unet


    【解决方案1】:

    你是对的。验证数据仅在每个 epoch 结束时通过模型向前运行(即没有反向传播),以评估模型的泛化性能。正如你所说,如果模型从验证数据中学习,它将完全破坏其测试泛化的有效性。

    【讨论】:

      猜你喜欢
      • 2019-03-31
      • 2017-04-12
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      • 2018-02-25
      • 1970-01-01
      • 2020-02-11
      • 1970-01-01
      相关资源
      最近更新 更多