При выполнении логического вывода на Raspberry Pi 4 с установленными Keras и Tensorflow с использованием pip
время логического вывода при использовании TFLite сокращается.
Исходная модель Keras составляет около 20 МБ - после преобразования в TFLite она составляет около 2,4 МБ. Во время вывода модель Keras обрабатывает выборку примерно за 50 мс, а TFLite - за 80 мс.
Изначально версия Tensorflow, установленная в пипсах, вызывала ошибки с TFLite, поэтому я установил TFLite-runtime, используя эту информацию: https://www.tensorflow.org/lite/guide/python
Во время вывода в TFLite я использую следующий фрагмент:
interpreter = tflite.Interpreter(model_path=CHECKPOINT)
interpreter.allocate_tensors()
input_index = interpreter.get_input_details()[0]["index"]
output_index = interpreter.get_output_details()[0]["index"]
for im in images:
t = time.time()
inp = np.expand_dims(np.expand_dims(im,-1),0)
interpreter.set_tensor(input_index, inp)
interpreter.invoke()
predictions = interpreter.get_tensor(output_index)
print("Time: {}".format(time.time()-t),end="\r")
Кто-нибудь имеет опыт работы с TFLite на Raspberry Pi? Я что-то упустил, чтобы ускорить вывод дальше? Кажется неправильным, что вывод должен быть быстрее в Керасе с размером модели 10x.