Мне известно, что в TensorFlow тензор tf.string - это в основном строка байтов. Мне нужно сделать некоторые операции с именем файла, который хранится в очереди, используя tf.train.string_input_producer().
Небольшой фрагмент показан ниже:
key, value = reader.read(filename_queue)
filename = value.eval(session=sess)
print(filename)
Тем не менее, в виде байтовой строки она выдает следующие данные:
b'\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x00\x00\x01\x00\x01\x00\x00\xff\xdb\x00C\x00\x08\x06\x06\x07\x06\x05\x08\x07\x07\x07\t\t\x08'
Я пытался конвертировать с помощью
filename = tf.decode_raw(filename, tf.uint8)
filename = ''.join(chr(i) for i in filename)
Однако объекты Tensor не повторяемы и, следовательно, это терпит неудачу.
Куда я иду не так?
Является ли отсутствующей функцией в TensorFlow возможность простого преобразования tf.string в строку Python или есть какая-то другая функция, о которой я не знаю?
Больше информации
Filename_queue был подготовлен следующим образом:
train_set = ['file1.jpg', 'file2.jpg'] # Truncated for illustration
filename_queue = tf.train.string_input_producer(train_set, num_epochs=10, seed=0, capacity=1000)