我是Tensorflow的新手,我正在尝试将pb
转换为tflite
,但是当我使用以下命令时
tflite_convert --graph_def_file=graph\tflite_graph.pb --output_file=output.tflite \
--input_shapes=1,300,300,3 --input_arrays=normalized_input_image_tensor \
--output_arrays='TFLite_Detection_PostProcess','TFLite_Detection_PostProcess:1', \
'TFLite_Detection_PostProcess:2','TFLite_Detection_PostProcess:3' \
--inference_type=QUANTIZED_UINT8 --mean_values=128 --std_dev_values=128 \
--change_concat_input_ranges=false --allow_custom_ops
我知道这个错误
> Check failed: GetOpWithOutput(model, output_array) Specified output array "'TFLite_Detection_PostProcess'" is not produced by any op in this graph. Is it a typo? This should not happen. If you trigger this error please send a bug report (with code to reproduce this error), to the TensorFlow Lite team.
请帮帮我。
发布于 2019-10-17 00:06:02
首先,使用export_tflite_ssd_graph.py进行转换。要想在手机上获得良好的性能,必须注意max_detections。
python export_tflite_ssd_graph.py --input_type image_tensor --pipeline_config_path training_ssd_v2_config --trained_checkpoint_prefix ../output/model.ckpt-124960 --output_directory ../output/frozen_tflite/frozen_inference_graph.pb -add_postprocessing_op True --max_detections 10
其次,在tensorflow (或tensorflow-gpu)版本1.11中使用tflite_convert:
tflite_convert --output_file=./tflite/detect.tflite
--graph_def_file=/home/nguyen/ssd/Foods/dataset/OD_food_non_food/ssd_model/output/frozen_tflite/frozen_inference_graph.pb/tflite_graph.pb
--input_arrays=normalized_input_image_tensor
--output_arrays='TFLite_Detection_PostProcess','TFLite_Detection_PostProcess:1','TFLite_Detection_PostProcess:2','TFLite_Detection_PostProcess:3'
--input_shape=1,300,300,3
--allow_custom_ops
也请看一下这些链接。
https://stackoverflow.com/questions/58282082
复制