ImportError:无法导入名称model_fn:Tensorflow

时间:2019-01-09 09:56:03

标签: python ios tensorflow

我已经成功生成了retrained_graph.pb和retrained_labels.txt模型。

但无法将模型转换为TFLite格式。

使用以下版本

tensorflow 1.12.0
tensorflow-gpu 1.1.0

我们将不胜感激。

1 个答案:

答案 0 :(得分:0)

(1)您可以使用tflite_convert一个命令行工具来实现。
从TensorFlow 1.9开始,命令行工具tflite_convert作为Python软件包的一部分安装。
参见https://www.tensorflow.org/lite/convert/cmdline_examples#command-line_tools_
您可以简单地从命令行尝试;

tflite_convert \
  --output_file=/tmp/foo.tflite \
  --graph_def_file=/tmp/frozen_graph.pb \
  --input_arrays=input \
  --output_arrays=output

-input_arrays和--output_arrays的值是TensorFlow图中的输入和输出。


(2),您也可以尝试使用 Python API 将GraphDef转换为TFLite格式
请参见从文件https://www.tensorflow.org/lite/convert/python_api#exporting_a_graphdef_from_file_导出graphdef
您可以尝试此模板;

import tensorflow as tf

graph_def_file = "/path/to/Downloads/your_model/frozen_graph.pb"
input_arrays = ["input"]
output_arrays = ["output"]

converter = tf.lite.TFLiteConverter.from_frozen_graph(
  graph_def_file, input_arrays, output_arrays)
tflite_model = converter.convert()
open("converted_model.tflite", "wb").write(tflite_model)

请注意,它仅支持使用freeze_graph.py冻结的GraphDef。

希望这会有所帮助。