gpt4 book ai didi

python - tf.image.random_flip_left_right() 用于多张图片在一起

转载 作者:太空宇宙 更新时间:2023-11-04 02:15:18 25 4
gpt4 key购买 nike

我想在我的输入管道中随机翻转几个不同大小的输入图像。对于不同的图像,翻转需要保持一致——要么全部翻转,要么不翻转。自从使用 tf.image.random_flip_left_right()对此不够充分,我改为这样做:

images = [img1, img2]
def fliplr(*args):
return [tf.image.flip_left_right(t) for t in args]
def id(*args):
return args
img1, img2 = tf.cond(tf.random_uniform([1]) > 0.5, fliplr(images), id(images), name='fliplr')

这是 tf.Dataset.map() 使用我的输入数据集对象调用的函数的一部分。

但是我从 flip_left_right 行得到这个错误:

ValueError: Dimension 1 in both shapes must be equal, but are 3 and 1. Shapes are [240,320,3] and [240,320,1].

From merging shape 0 with other shapes. for 'flip_left_right/image' (op: 'Pack') with input shapes: [240,320,3], [240,320,1].

我认为这是因为我的图像尺寸不同(240x320,1 channel 或 3 channel ),但我不明白为什么这很重要。

我该如何解决这个错误?或者,有没有更好的方法来获得我想要的避免此错误的方法?

我正在使用 TensorFlow-1.8(但如果需要可以升级)。

最佳答案

就这样?

do_flip = tf.random_uniform([]) > 0.5
img1 = tf.cond(do_flip, lambda: tf.image.flip_left_right(img1), lambda: img1)
img2 = tf.cond(do_flip, lambda: tf.image.flip_left_right(img2), lambda: img2)

关于python - tf.image.random_flip_left_right() 用于多张图片在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52801923/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com