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

Keras: cannot access training images inside on_batch_end callback

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

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

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

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

提前致谢

最好通过简单地从生成器获取图像来进行外部训练。

如果是普通的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