Я обучил пользовательскую сеть Keras и хотел развернуть ее на MCU. Я должен квантовать его в UINT8.
model = tf.keras.models.load_model('saved_model/MaskNet_extended.h5')
converter = tf.lite.TFLiteConverter.from_keras_model(model)
converter.optimizations = [tf.lite.Optimize.OPTIMIZE_FOR_SIZE]
converter.target_spec.supported_ops = [tf.lite.OpsSet.TFLITE_BUILTINS_INT8]
converter.inference_input_type = [tf.uint8]
converter.inference_output_type = [tf.uint8]
converter.representative_dataset = rep_ds
tflite_quant_model = converter.convert()
Проблема в том, что tf_lite_quant_model по-прежнему Float32. Как это возможно?
Сеть:
model = Sequential([
Conv2D(16, 3, padding='same', activation='relu',
input_shape=(IMG_SHAPE)),
MaxPooling2D(),
Conv2D(32, 3, padding='same', activation='relu'),
MaxPooling2D(),
Conv2D(64, 3, padding='same', activation='relu'),
MaxPooling2D(),
Flatten(),
Dense(512, activation='relu'),
Dense(1, activation = 'sigmoid')
])