Tensorflow将PB文件转换为tflite

时间:2019-10-02 12:11:06

标签: python android tensorflow model

我的扩展名为.pb。我需要将此文件转换为.tflite才能在Android上使用它。但是我从来没有。

我正在使用以下代码:

tflite_convert \ 
--output_file=/outputs/retrained_graph.tflite \ 
--graph_def_file=/inference_graph/frozen_inference_graph.pb \ 
--input_arrays=Mul \ 
--output_arrays=Softmax

我收到这样的错误:

2019-10-02 14:52:07.693744: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudart64_100.dll

usage: tflite_convert [-h] --output_file OUTPUT_FILE
                      (--saved_model_dir SAVED_MODEL_DIR | --keras_model_file KERAS_MODEL_FILE)
tflite_convert: error: one of the arguments --saved_model_dir --keras_model_file is required

有人可以告诉我我哪里做错了吗?我不确定输入和输出的值,也不知道如何找到它,这可能是问题吗?

\ research \ object_detection \ inference_graph:

\research\object_detection\inference_graph

1 个答案:

答案 0 :(得分:0)

tflite_convert仅支持keras模型文件和已保存的模型,以转换为TFLite。要转换PB文件,您有以下几种选择:

  1. 将您的张量流降级到1.14或更低版本。在那些TFLiteConverters中,支持pb文件转换。
  2. 否则,如果可以编写Python脚本和命令行转换,则可以在TF 2.0中使用tf.compat.v1.TFLiteConverter