Keras fit_generator:模型是否也使用 validation_data 学习?

Keras fit_generator: does model learn with validation_data as well?

我创建了一个使用 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)

我想知道:在不同的 Epoch 中,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)

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