【问题标题】:validation_data in tf.keras.model.fit doesn't seem to work with generatortf.keras.model.fit 中的 validation_data 似乎不适用于生成器
【发布时间】:2020-04-28 21:23:45
【问题描述】:

我尝试像这样在 Colab 中使用 model.fit_generator 进行训练:

history = model.fit_generator(train_generator, steps_per_epoch=80, epochs=10,
                          validation_data = validation_generator,validation_steps=10,
                          verbose=1) 

它按预期工作,但有一条警告说 fit_generator 已弃用,所以我尝试使用 model.fit:

history = model.fit(train_generator, steps_per_epoch=80, epochs=10,
                validataion_data=validation_generator, validation_steps=10,
                verbose=1) 

训练有效,但每个 epoch 后都没有验证。 history.history[val_loss] 也找不到。我想知道为什么没有验证。是因为validation_data来自生成器吗?

【问题讨论】:

    标签: tensorflow keras


    【解决方案1】:

    不,作为验证数据馈送器的生成器应该可以工作。

    我遇到了类似的问题。我用model.fit() 替换model.fix_generator()。除了我还更改了生成器中batch_size 的数量,确切地说是验证数据生成器,而我没有更改validation_steps。所以在第一个时期它告诉我输入数据不足,并继续评估另一个时期而没有任何警告。由于问题仅出在验证数据集上,因此它刚刚停止评估验证。一旦我得到正确的数字 (batch_size * validation_steps <= validation_set_size),它就开始评估验证指标。

    【讨论】:

      【解决方案2】:

      model.fit_generator 将从 TensorFlow 中删除,所以请添加生成器代码,包括 .flowfromdirectory 代码,可能有错误,我们可以帮助您。

      【讨论】:

      • 这是我如何为验证生成器执行 flowfromdirectory:validation_generator = validation_datagen.flow_from_directory( VALIDATION_DIR, target_size=(150,150), class_mode='categorical' ) 输出是:找到属于 3 的 372 个图像类。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-04
      • 2023-04-06
      • 2017-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多