【问题标题】:history=model.fit_generator() Why is keras history empty?{}history=model.fit_generator() 为什么 keras 历史是空的?{}
【发布时间】:2020-09-25 18:59:38
【问题描述】:

我无法从model.fit_generator()获取历史记录

net_history=densenet_model.fit_generator(
  generator=train_loader,
  steps_per_epoch=len(train_dataset), 
  max_queue_size=500,
  workers=1,
  validation_data=val_loader,
  epochs=10, 
  validation_steps=len(val_dataset),
  verbose=0,
  callbacks=[checkpointer, tensorboard]
)
print(net_history.history)
print(net_history.history.keys())

结果:

  {}
  dict_keys([])

但是我可以从model.fit()获取历史信息

net_history2=densenet_model.fit(
  x_train,
  y_train,
  validation_split=0.3,
  epochs=4,
  verbose=0,
  batch_size=4,
  callbacks=[checkpointer, tensorboard]
)
print(net_history2.history)

结果:

{'val_loss': [1.0166720993050904, 0.8762002832421633, 0.9079110455290179, 0.8696109705439238], 
'val_categorical_crossentropy': [0.8133353590965271, 0.677170991897583, 0.7131518721580505, 
0.6792631149291992], 'val_categorical_accuracy': [0.5887850522994995, 0.6355140209197998, 
0.5794392228126526, 0.6074766516685486], 'loss': [0.8654926233446067, 0.8416075144219495, 
0.8553338176325748, 0.8491003025881192], 'categorical_crossentropy': [0.6599225, 0.6403823, 
0.6583931, 0.6564969], 'categorical_accuracy': [0.6396761, 0.659919, 0.5991903, 0.562753]}

为什么会这样?

如何从model.fit_generator中获取loss和accuracy信息?

ps:我无法通过日志事件将迭代过程可视化,因为每次我尝试在 tensorboard 中打开它时,浏览器都会卡在“命名空间层次结构查找相似子图”中,然后崩溃...... QAQ

【问题讨论】:

    标签: keras conv-neural-network tensorboard tf.keras


    【解决方案1】:

    你可以坚持使用 model.fit,因为它支持生成器。

    对于 TensorBoard,您可能需要稍等片刻(我认为 tensorboard 卡在“命名空间层次结构中找到相似的子图”,但它正在运行并且需要一些时间)。


    注意:对于训练和验证步骤,您应该得到等于 trainORval_dataset_size / 批量大小的生成器长度,而不是数据集的长度。您不希望在同一时期重复相同的图像。

    steps_per_epoch=len(train_loader)
    validation_steps=len(val_loader)
    

    【讨论】:

      【解决方案2】:

      至于为什么会发生这种情况,我只能推测是因为 model.fit_generator 已被弃用,在 TensorFlow 2.2 及更高版本中,您可以只使用 model.fit,因为它现在支持生成器。

      来源: https://www.tensorflow.org/api_docs/python/tf/keras/Model#fit_generator

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-02-28
        • 1970-01-01
        • 1970-01-01
        • 2014-08-04
        • 2011-09-28
        • 2019-04-04
        • 2019-04-15
        • 2018-03-11
        相关资源
        最近更新 更多