如何将TensorFlow Lite模型量化为16位

时间:2017-12-28 03:42:25

标签: tensorflow neural-network quantization tensorflow-lite

以下代码段创建了一个8位量化的TF Lite模型,将FLOAT替换为~/tensorflow/bazel-bin/tensorflow/contrib/lite/toco/toco \ --input_file=$(pwd)/model.pb \ --input_format=TENSORFLOW_GRAPHDEF \ --output_format=TFLITE \ --output_file=$(pwd)/model.lite --inference_type=QUANTIZED_UINT8 \ --input_type=QUANTIZED_UINT8 --input_arrays=conv2d_1_input \ --default_ranges_min=0.0 --default_ranges_max=1.0 \ --output_arrays=average_pooling2d_2/AvgPool --input_shapes=1024,32,32,2 会创建一个32位模型。是否有任何标志可以创建16位量化模型?我搜索过TF Lite文档,但是我找不到可能标记列表中的任何文档。有谁知道怎么做?

{{1}}

1 个答案:

答案 0 :(得分:1)

目前,TFLite支持8位的唯一量化类型。见这里:https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/lite/toco/types.proto#L27

这是因为对于现有的量化模型,发现8位足够,但这可能会改变。如果您的模型需要更多位进行量化,那么创建描述您的用例的张量流问题可能是值得的。