2016-11-05 6 views
0

Я новичок в тензорном потоке, и я пытаюсь передать jpg-изображения в тензор, но возвращать ошибку.tf return Неверные данные JPEG, размер 1100

Это код:

import tensorflow as tf 

filename_queue = tf.train.string_input_producer(['D-MAIZ-BUENO/lista']) 

reader = tf.WholeFileReader() 
key, value = reader.read(filename_queue) 

my_img = tf.image.decode_jpeg(value,channels=0) # jpg decoder 


init_op = tf.initialize_all_variables() 

with tf.Session() as sess: 
    sess.run(init_op) 



    coord = tf.train.Coordinator() 
    threads = tf.train.start_queue_runners(coord=coord) 

for i in range(50): #length of your filename list 
    image = my_img.eval() #here is your image Tensor :) 

# print(image.shape) 
# Image.show(Image.fromarray(np.asarray(image))) 
# 
# coord.request_stop() 
# coord.join(threads) 

изображения в D-Маис-Буэно/Lista и Lista список с JPG изображений. Изображения JPG 640х480 пикселей размер 24.2kb

Ошибка:

tensorflow.python.framework.errors.InvalidArgumentError: Invalid JPEG data, size 1100 [[Node: DecodeJpeg = DecodeJpegacceptable_fraction=1, channels=0, fancy_upscaling=true, ratio=1, try_recover_truncated=false, _device="/job:localhost/replica:0/task:0/cpu:0"]] Caused by op 'DecodeJpeg', defined at:

ответ

1

Вы должны кормить список имен файлов в очереди. Так, например,

with open('D-MAIZ-BUENO/lista', 'r') as f: 
    filename_list = f.read().splitlines() 
filename_queue = tf.train.string_input_producer(filename_list) 
+0

Спасибо, что это порождает ошибку, потому что каталог не привязан к имени файла –

 Смежные вопросы

  • Нет связанных вопросов^_^