Чтение изображений и извлечение метки из пути с помощью TensorFlow - PullRequest
0 голосов
/ 26 июня 2018

Я пытаюсь прочитать файлы изображений с помощью tenorflow и получить метки из пути следующим образом:

import tensorflow as tf

filename_queue = tf.train.string_input_producer(
                                 tf.matching_files(
                                    tf.constant(["./positive_images/*.jpg",
                                                "./negative_images/*.jpg"])))

image_reader = tf.WholeFileReader()

file_name, image_file = image_reader.read(filename_queue)
label = tf.map_fn(lambda x: "positive" in x, file_name)
image = tf.image.decode_jpeg(image_file, channels=1)

with tf.Session() as sess:
    # Required to get the filename matching to run.
    tf.global_variables_initializer()

    # Coordinate the loading of image files.
    coord = tf.train.Coordinator()
    threads = tf.train.start_queue_runners(coord=coord)
    filename1 = sess.run([label])
    print(filename1)

    image_tensor = sess.run([image])
    print(image_tensor)

    coord.request_stop()
    coord.join(threads)

Однако я получаю сообщение об ошибке:

in map_fn raise ValueError("elems must be a 1+ dimensional Tensor, not a scalar")
ValueError: elems must be a 1+ dimensional Tensor, not a scalar

Кажется, что чтение изображенийработать, но имя файла не может быть проанализировано правильно.Что я делаю не так?

...