批量的TensorFlow图像操作

que*_*ude 18 tensorflow

TensorFlow中有许多用于在训练期间扭曲输入图像的图像操作,例如tf.image.random_flip_left_right(image, seed=None)以及tf.image.random_brightness(image, max_delta, seed=None)其他几个.

这些功能适用于单个图像(即具有形状[高度,宽度,颜色通道]的3-D张量).如何使它们在一批图像上工作(即具有形状[批次,高度,宽度,颜色通道]的4-D张量)?

一个工作的例子将不胜感激!

mrr*_*rry 30

一种可能性是使用最近添加tf.map_fn()的将单图像操作符应用于批次的每个元素.

result = tf.map_fn(lambda img: tf.image.random_flip_left_right(img), images)
Run Code Online (Sandbox Code Playgroud)

这有效地构建了与keveman建议构建相同的图形,但通过使用TensorFlow对循环的支持,它对于更大的批量大小更有效.