.tflite的tensorflow toco命令

时间:2018-10-17 18:47:43

标签: tensorflow toco

我正在按照TFLite Android

上的步骤进行操作

我无法使用toco命令,因此无法生成:“ optimized_graph.lite”

这是我使用的命令:

    IMAGE_SIZE=224
toco \
  --graph_def_file=tf_files/retrained_graph.pb \
  --output_file=tf_files/optimized_graph.lite \
  --input_format=TENSORFLOW_GRAPHDEF \
  --output_format=TFLITE \
  --input_shape=1,${IMAGE_SIZE},${IMAGE_SIZE},3 \
  --input_array=input \
  --output_array=final_result \
  --inference_type=FLOAT \
  --input_data_type=FLOAT

错误是:

F tensorflow / contrib / lite / toco / toco.cc:46]检查失败:parsed_toco_flags.input_file.specified()缺少必需标志:input_file

在Mac OS上,我已经认真遵循了说明,并且tensorflow版本是1.7

1 个答案:

答案 0 :(得分:2)

我跑步时

toco --help

在此命令的选项中没有看到--graph_def_file。 相反,我发现了--input_file,它的含义是 输入文件(任何受支持格式的模型)。对于Protobuf格式,无论文件扩展名如何,均支持文本和二进制。

在我将--graph_def_file替换为--input_file之后,命令起作用了,并且我得到了optimized_graph.lite文件。

下面是完整的命令。

toco \
  --input_file=tf_files/retrained_graph.pb \
  --output_file=tf_files/optimized_graph.lite \
  --input_format=TENSORFLOW_GRAPHDEF \
  --output_format=TFLITE \
  --input_shape=1,${IMAGE_SIZE},${IMAGE_SIZE},3 \
  --input_array=input \
  --output_array=final_result \
  --inference_type=FLOAT \
  --input_data_type=FLOAT