Как я могу использовать tf.string split () в tensorflow?
Я хочу получить расширение файлов изображений для вызова другого декодера изображений, и я обнаружил, что есть функция под названием tf.string_split в tensorflow r0.11.
filename_queue = tf.train.string_input_producer(filenames, shuffle=shuffle)
reader = tf.WholeFileReader()
img_src, img_bytes = reader.read(filename_queue)
split_result = tf.string_split(img_src, '.')
но когда я запускаю его, я получаю эту ошибку:
ValueError: Shape must be rank 1 but is rank 0 for 'StringSplit' (op: 'StringSplit') with input shapes: [], [].
Я думаю, что это может быть вызвано выводом формы img_src
. Я пытаюсь использовать img_src.set_shape([1,])
чтобы исправить это, но, кажется, не работает, я получаю эту ошибку:
ValueError: Shapes () and (1,) are not compatible
кроме того, я не могу получить форму img_src
используя
tf.Print(split_result, [tf.shape(img_src)],'img_src shape=')
результат img_src shape=[]
. Но если я использую следующий код:
tf.Print(split_result, [img_src],'img_src=')
результат img_src=test_img/test1.png
. Я делаю что-то не так?