AttributeError:模块'tensorflow.contrib.lite.python.convert_saved_model'没有属性'convert'

时间:2018-08-15 17:10:19

标签: tensorflow tensorflow-lite

我正在尝试使用以下功能将预制的DNN模型转换为tflite文件:

from tensorflow.contrib.lite.python import convert_saved_model
convert_saved_model.convert(saved_model_dir=saved_model, output_tflite="/TF_Lite_Model")

我安装了Tensorflow 1.10的最新版本 我正在使用UBUNTU 16.04

错误如下:

AttributeError:模块'tensorflow.contrib.lite.python.convert_saved_model'没有属性'convert'

2 个答案:

答案 0 :(得分:4)

根据here所述,用于将SavedModels转换为TensorFlow Lite FlatBuffers的API为TocoConverter.from_saved_model。该文档已复制到下面。

提供一般说明。 from_saved_model是一种返回TocoConverter对象的类方法。 TocoConverter具有功能convertconvert_saved_model是一个函数,因此没有自己的convert函数。

从文档复制:

以下示例显示了如何将SavedModel转换为TensorFlow Lite FlatBuffer。

import tensorflow as tf

converter = tf.contrib.lite.TocoConverter.from_saved_model(saved_model_dir)
tflite_model = converter.convert()
open("converted_model.tflite", "wb").write(tflite_model)

对于更复杂的SavedModels,可以传递到TocoConverter.from_saved_model()的可选参数是input_arrays,input_shapes,output_arrays,tag_set和signature_key。通过运行help(tf.contrib.lite.TocoConverter),可以获得每个参数的详细信息。

答案 1 :(得分:0)

由于回购中缺少tflite contrib模块,我不得不对其进行编译。