我正在尝试使用以下功能将预制的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'
答案 0 :(得分:4)
根据here所述,用于将SavedModels转换为TensorFlow Lite FlatBuffers的API为TocoConverter.from_saved_model
。该文档已复制到下面。
提供一般说明。 from_saved_model
是一种返回TocoConverter
对象的类方法。 TocoConverter
具有功能convert
。 convert_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模块,我不得不对其进行编译。