gpt4 book ai didi

tensorflow - 为什么在 Tensorflow 中转换图像时会出现 ValueError ('\' image\' must be fully defined.' )?

转载 作者:行者123 更新时间:2023-12-04 22:19:44 24 4
gpt4 key购买 nike

我想通过在 tensorflow 中链接不同的图像转换算子来进行实时数据增强。我的代码从图像解码开始,然后运行不同的转换,但它抛出了 ValueError('\'image\' must be fully defined.') .这是重现此错误的示例:

def decode_and_augment(image_raw):
decoded = tf.image.decode_jpeg(image_raw)
flipped = tf.image.random_flip_left_right(decoded)
return flipped

最佳答案

出现此错误是因为 tf.image.random_flip_left_right() op 在构建图形时检查其输入的静态形状,并且 tf.image.decode_jpeg() 生成对 image_raw 的内容具有数据依赖性的张量所以它的形状不是静态已知的。目前解决此问题的唯一方法是设置 decoded 的静态形状。张量使用 Tensor.set_shape() , 如下:

decoded = tf.image.decode_jpeg(image_raw)
decoded.set_shape([IMAGE_HEIGHT, IMAGE_WIDTH, NUM_CHANNELS])
flipped = tf.image.random_flip_left_right(decoded)

这样做的缺点是所有图像现在必须具有相同的大小(和 channel 数)。

许多图像操作不遵循与 TensorFlow 的其余部分相同的渐进和动态形状推断(它允许您具有未知的形状或尺寸,假设程序在您构建图形时是正确的,并在运行)。这是 considered a bug目前,我们会想办法解决它。

关于tensorflow - 为什么在 Tensorflow 中转换图像时会出现 ValueError ('\' image\' must be fully defined.' )?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34746777/

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