Keras:无法在on_batch_end回调中访问训练图像

时间:2018-11-30 09:01:19

标签: python tensorflow keras tensorboard

我正在使用带有TensorFlow后端的Keras训练CNN,并使用imgaug进行图像增强。

我也在使用Tensorboard可视化培训进度和结果。

由于imgaug将(随机)转换应用于输入图像,因此我想将(部分)增强图像发送到Tensorboard,以便我可以对其进行可视化并验证是否正确(例如:检查是否我正在应用太大的翻译,或者图像太模糊了。

为此,我创建了一个自定义的Keras回调,并尝试在on_batch_end方法中输入我的逻辑。我可以将图像发送到tensorboard,但是找不到在哪里可以访问增强的输入图像。有关如何实现这一目标的任何提示?

预先感谢

1 个答案:

答案 0 :(得分:0)

通过从生成器中获取图像,更好地进行外部培训。

如果是常规generator

for i in range(numberOfBatches):
    x,y = next(generator)
    #plot, print, etc. with the batches    

如果是keras.utils.Sequence

for i in range(len(generator)):
    x,y = generator[i]
    #plot, print, etc. with the batches