我想在Tensorflow中将量化的整数 tflite 模型转换为冻结图(.pb)。我通读并尝试了StackOverflow上的许多解决方案,但没有一个起作用。具体来说,toco无效(output_format不能为TENSORFLOW_GRAPHDEF)。
我的最终目标是通过 tf2onnx 获得量化的ONNX模型,但是tf2onnx不支持将tflite作为输入(仅支持savedmodel,checkpoint和graph_def)。但是,在使用TFLiteConverter量化训练后的模型后,它仅返回tflite文件。这就是问题所在。
理想的流程本质上是这样的:float32中的tf模型-> int8中的tflite模型-> graph_def-> onnx模型。我陷入了第二个箭头。
答案 0 :(得分:1)
在Tensorflow版本r1.9之后删除了将tflite模型转换为.pb的功能。尝试将您的TF版本降级到1.9,然后像这样
bazel run --config=opt \
//tensorflow/contrib/lite/toco:toco -- \
--input_file=/tmp/foo.tflite \
--output_file=/tmp/foo.pb \
--input_format=TFLITE \
--output_format=TENSORFLOW_GRAPHDEF \
--input_shape=1,128,128,3 \
--input_array=input \
--output_array=MobilenetV1/Predictions/Reshape_1
Here是来源。