在进行TensorFlow项目时,我遇到了一个问题,但我不知道如何解决。我有
ValueError:对于输入形状为[384,12,12,3],[3],[3]的'adjust_hue / Slice'(op:'Slice'),形状必须为3级,但为4级。 / p>
答案 0 :(得分:0)
根据[https://github.com/tensorflow/tensorflow/issues/8926]
某些tf.image函数仅接受单个图像作为输入。
但是某些图像操作(例如tf.image.random_brightness(),tf.image.random_contrast())允许批量处理。
解决方案是使用lambda批量处理:
hue = lambda x: tf.image.random_hue(x, 0.5)
inputs = tf.map_fn(hue, inputs)
答案 1 :(得分:0)
只需在train.py的函数image_color_distort中删除/注释tf.image.random_hue和image.random_saturation,就像下面的代码:
def image_color_distort(inputs):
inputs = tf.image.random_contrast(inputs, lower=0.5, upper=1.5)
inputs = tf.image.random_brightness(inputs, max_delta=0.2)
# inputs = tf.image.random_hue(inputs,max_delta= 0.2)
# inputs = tf.image.random_saturation(inputs,lower = 0.5, upper= 1.5)
return inputs