TOCO / Tensorflow .pb到.tflite output_arrays不起作用

时间:2018-06-08 20:49:07

标签: macos tensorflow toco

我对Tensorflow相对较新,我已经构建了一个自定义训练的图像模型,这是一个重新训练的mobilenetv1模型。我目前有一个.pb图表和一个labels.txt文件。

我正在尝试使用TOCO将.pb图转换为.tflite图,以便我可以将它与Firebase一起使用,并且在尝试运行TOCO时我一直收到错误。我在终端中运行的代码是:

./toco \
--input_file=/***/frozen_graph.pb \
--input_format=TENSORFLOW_GRAPHDEF \
--output_format=TFLITE \
--output_file=/***/newGraph.tflite \
--inference_type=FLOAT \
--input_arrays=input \
--input_shapes=1,224,224,3 \

我尝试过指定--output_arrays标志,但我不知道该为它设置什么。我在终端得到的错误是:

F tensorflow/contrib/lite/toco/tooling_util.cc:1480] Check failed: model->flags.output_arrays_size() > 0 (0 vs. 0)This model does not define output arrays, so a --output_arrays flag must be given on the command-line.
Abort trap: 6

我花了这么多时间和小时试图弄清楚--output_arrays等于什么,我被卡住了。我正在运行MacOS 10.13.3。请帮助meeeeeeeee谢谢

1 个答案:

答案 0 :(得分:0)

--output_arrays是TOCO中的必需标志。大多数MobileNetV1型号的输出数组为MobilenetV1/Predictions/Reshape_1,但是它可能因型号而异。查看输出数组的最佳方法是使用TensorBoard可视化您的图形。