Облегченная модель Tensorflow медленнее обычной модели при выводе. Зачем? - PullRequest
0 голосов
/ 17 января 2019

У меня есть обычная модель, и я использую tf.lite.TFLiteConverter.from_keras_model_file для преобразования ее в модель .tflite. Затем я использую интерпретатор для вывода изображений.

tf.logging.set_verbosity(tf.logging.DEBUG)
interpreter = tf.lite.Interpreter(model_path)
interpreter.allocate_tensors()
input_index = interpreter.get_input_details()[0]["index"]
output_index= interpreter.get_output_details()[0]["index"]
for loop:
    (read image)
    interpreter.set_tensor(input_index, image)
    interpreter.invoke()
    result = interpreter.get_tensor(output_index)

В обычной модели я использую следующее для прогнозирования.

model = keras.models.load_model({h5 model path}, custom_objects={'loss':loss})
for loop:
    (read image)
    result = model.predict(image)

Тем не менее, затраченное время на модели логического вывода .tflite намного длиннее обычной. Я также пробую квантование после обучения на .tflite, но эта модель является самой медленной по сравнению с двумя другими. Имеет ли это смысл? Почему это происходит? Есть ли способ сделать Liteor модель Liteor быстрее, чем его обычная модель? Благодарю.

...