Я пытаюсь загрузить некоторые изображения в график TensorFlow
, который равен RGB
, однако мне хотелось бы, чтобы график преобразовывал их в оттенки серого перед обработкой.Ошибка при подаче изображений на график TensorFlow
x = tf.placeholder(tf.float32, shape=[None, 32, 32, 1], name='x')
gray = tf.image.rgb_to_grayscale(x, name='grayscale')
Однако я получаю ошибку
ValueError: Cannot feed value of shape (250, 32, 32, 3) for Tensor 'x:0', which has shape '(?, 32, 32, 1)'
Я экспортировал notebook
с ошибкой и загрузив его на Github как md
файл для Комплектность и краткости.
Я понимаю, что ошибка связана с тем, что x_batch
находится в форме RGB.
Однако я думал, что TensorFlow
сделает преобразование автоматически.
С tf.image.rgb_to_grayscale обертывает входы, не должно TF
делать grayscaling
как часть сеанса?
Или я пропустил понимание того, как это работает?
Если вы хотите кормить в RGB изображения, которые вы должны иметь заполнитель формы '[None, 32, 32, 3]. Затем может произойти сериализация. –
@OlivierMoindrot, так что tf.image.rgb_to_grayscale сделает сериализацию без какого-либо дополнительного кода? Как я могу обеспечить, чтобы серые изображения обрабатывались? –
Итак, если вы загружаете RGB-изображения на ваш placeholder, а затем применяете 'gray = tf.image.rgb_to_grayscale (x)', вывод будет иметь форму '[None, 32, 32, 1]' и будет содержать серые изображения , Вы можете проверить форму «серый», если хотите быть уверенным. –