在TensorFlow 2.0.0中使用TFLite进行量化的输入和输出

时间:2019-12-09 17:09:15

标签: tensorflow tensorflow2.0 mnist tensorflow-lite quantization

我正在尝试使用TensorFlow 2.0.0中的TFLiteConverter执行训练后的整数量化,如post-training integer quantization教程中所述。不幸的是,我的输入和输出仍然在float32中:

converter = tf.lite.TFLiteConverter.from_keras_model(model)
converter.representative_dataset = representative_data_gen
converter.target_spec.supported_ops = [tf.lite.OpsSet.TFLITE_BUILTINS_INT8]
converter.inference_input_type = tf.uint8
converter.inference_output_type = tf.uint8

tflite_model_quant = converter.convert()

quantized_model = tf.lite.Interpreter("mnist_model_quant.tflite")
quantized_model.get_input_details()

输出:

[{'dtype': numpy.float32,
  'index': 8,
  'name': 'flatten_1_input',
  'quantization': (0.0, 0),
  'shape': array([ 1, 28, 28], dtype=int32)}]

在tf 2.0.0之前,使用tf 1.15.0时,我可以获得完整的int8量化模型。如何使用TF 2.0.0实现此目的?

测试实验室:https://colab.research.google.com/drive/17uoSGPQLhAqAfrIGyRm8Zkr2E8ig3-X0

0 个答案:

没有答案