我使用Keras w / Tensorflow后端训练NN。
我使用train_on_batch
进行培训,这会返回给定批次的损失。我如何获得该批次的输出分类? (我想对输出进行一些可视化)
要做到这一点,我现在再次拨打predict
来获取模型输出,但这是多余的,因为train_on_batch已经通过了输入批处理" forward"。
在Caffe中,当图像被向前馈送时,中间层输出保持存储在net.blobs中,但在Keras / Tensorflow中,似乎如果我们想要获得中间输出,我们必须重新运行每个中间体的计算图我们想要在CPU上访问的输出,如here所述。有没有办法访问许多/所有中间层'输出而不重新运行每个图表?
我不介意使用特定于张量流的解决方法。
答案 0 :(得分:0)
如果您使用函数API,那就非常straight forward。
答案 1 :(得分:0)
除了@ MohamedEzz的答案,您还可以创建一个自定义回调,可以执行培训过程中所需的操作。他们有一些方法可以运行你的代码onEpochEnd,onEpochStart,onTrainingEnd等等...... 这样您就可以保留批次。