Я не хочу использовать информацию о пути, так как у меня уже есть изображение в виде массива в моем коде Python 3. Сохранение этого изображения, перечитывание не имеет смысла.
Итак, я пытаюсь преобразовать подход на основе путей в подход на основе матриц.
# this needs to be altered here
image_data = tf.gfile.FastGFile(image_path, 'rb').read()
label_lines = [line.rstrip() for line
in tf.gfile.GFile(home + '/retrained_labels.txt')]
with tf.gfile.FastGFile(home + '/retrained_graph.pb', 'rb') as f:
graph_def = tf.GraphDef()
graph_def.ParseFromString(f.read())
_ = tf.import_graph_def(graph_def, name='')
with tf.Session() as sess:
softmax_tensor = sess.graph.get_tensor_by_name('final_result:0')
# run the prediction
predictions = sess.run(softmax_tensor, \
{'DecodeJpeg/contents:0': image_data})
Однако функция tf.gfile.FastGFile
, очевидно, не принимает изображения в качестве матрицы.
TypeError: Expected binary or unicode string, got array([[[134, 129, 126],
Есть ли какая-либо альтернатива этой функции, которая может считывать изображение в виде матрицы и при этом генерировать image_data
, как указано выше?