首页 文章

如何在Keras的一批数据上同时获得损失和模型输出?

提问于
浏览
1

我正在使用Keras w / Tensorflow后端来训练NN .

我正在使用 train_on_batch 进行培训,这会返回给定批次的损失 . 我如何获得该批次的输出分类? (我想对输出做一些可视化)

为此,我目前再次调用 predict 来获取模型输出,但这是多余的,因为train_on_batch已经通过了输入批处理"forward" .

在Caffe中,当图像被向前馈送时,中间层输出保持存储在net.blobs中,但在Keras / Tensorflow中,似乎如果我们想要获得中间输出,我们必须为我们想要的每个中间输出重新运行计算图访问CPU,如here所述 . 有没有办法访问多个/所有中间层的输出而无需为每个中间层重新运行图表?

我不介意有一个特定于张量流的解决方法 .

2 回答

  • 0

    如果你使用函数API,这很漂亮straight forward .

  • 0

    除了@ MohamedEzz的答案,您还可以创建一个自定义回调,它可以执行培训过程中所需的操作 . 他们有一些方法可以运行你的代码onEpochEnd,onEpochStart,onTrainingEnd等......这样你就可以保留批处理 .

相关问题