Я пытаюсь создать квантованную модель tflite из графика тензорного потока, который имеет входной тензор переменного размера. Для этого я использую tenorflow 1.14 и не могу перейти на более позднюю версию. Я видел здесь , что tf-nightly (февраль-2020) поддерживает переменные входные тензоры для tflite. К сожалению, это не вариант для меня.
Мне не нужен переменный входной тензор для моей модели tflite. Есть ли еще вариант для меня?
Я попытался просто установить тензор ввода вручную:
import tensorflow as tf
with tf.Session() as sess:
model_cfg, model_outputs = load_model("my_model.pb", sess)
img = sess.graph.get_tensor_by_name('image:0') # This does not work unfortunately
img = tf.placeholder(name="image", dtype=tf.float32, shape=(1, 257, 257, 3)) # Try manually
converter = tf.lite.TFLiteConverter.from_session(sess, [img], model_outputs)
converter.optimizations = [tf.lite.Optimize.OPTIMIZE_FOR_SIZE] # 8-bit quantization
tflite_quant_model = converter.convert()
open("converted_model.tflite", "wb").write(tflite_quant_model)
Это дает мне квантованную модель, но я не могу ее использовать.
Я получаю сообщение об ошибке:
input->dims->size != 4 (0 != 4)Node number 0 (CONV_2D) failed to prepare
, которое, по моему мнению, связано с тем, что моя ручная вставка входного тензора не "связана" с остальной частью модели.