Конвертировать pb-файл InceptionV3 в tflite
Я пытаюсь преобразовать модель InceptionV3 из файла pb в файл tflite с помощью TOCO. Я использую следующую команду:
tflite_convert --output_file=/home/luca/Scrivania/prova.tflite --graph_def_file=/home/luca/Scrivania/inception_v3_2016_08_28_frozen.pb/inception_v3_2016_08_28_frozen.pb --input_arrays=input --output_arrays="InceptionV3/Predictions/Reshape_1:0"
Но я получаю следующую ошибку:
ValueError: Invalid tensors 'InceptionV3/Predictions/Reshape_1:0' were found.
Как я могу это исправить?
1 ответ
Решение
Эта ошибка указывает на то, что output_array
Вы указали неверно. Как правило, выходной массив для моделей InceptionV3 InceptionV3/Predictions/Reshape
,
Если это не сработает, следующим шагом будет визуализация вашего TensorFlow .pb
модель в TensorBoard и искать выходной массив.
Если вы хотите узнать "--output_arrays=" . создайте файл python внутри, где находится папка frozen_inference_graph.pb, а затем вставьте этот код в py
import tensorflow as tf
gf = tf.GraphDef()
m_file = open('tflite_graph.pb','rb')
gf.ParseFromString(m_file.read())
with open('somefile.txt', 'a') as the_file:
for n in gf.node:
the_file.write(n.name+'\n')
file = open('somefile.txt','r')
data = file.readlines()
print ("output name = ")
print (data[len(data)-1])
print ("Input name = ")
file.seek ( 0 )
print (file.readline())
После того, как вы запустите файл, он покажет input_arrays и output_arrays.
Дальнейшая информация по ссылке: Как конвертировать.pb в формат TFLite?