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
我正在使用带有 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