将 keras 模型从 pb 文件转换为 tflite 文件

Posted

技术标签:

【中文标题】将 keras 模型从 pb 文件转换为 tflite 文件【英文标题】:Convert keras model from pb file to tflite file 【发布时间】:2018-12-09 12:40:11 【问题描述】:

我正在尝试将经过训练的 Keras 模型从 .pb 文件转换为 .tflite 文件:

tflite_model = tf.contrib.lite.toco_convert(frozen_graph_def, input_tensors, output_tensors)

但是,当我运行此代码时,会出现以下错误:

AttributeError: 模块 'tensorflow.contrib.lite' 没有属性 'toco_convert'

如何解决这个问题?

【问题讨论】:

【参考方案1】:

如果您在 windows 上,它将无法工作,因为 toco 库不支持 windows。所以最好切换Linux再试一次。

【讨论】:

【参考方案2】:

您使用的是最新版本的 tensorflow 吗?这也可以在安装 tf-nightly 时解决。或者使用 bazel 从源代码编译 tensorflow。 你也可以改用:tf.contrib.lite.TocoConverter.from_frozen_graph(final_model_path, input_arrays, output_arrays)

【讨论】:

【参考方案3】:

请提供您尝试转换的张量流图以重现确切的错误。在 GitHub https://github.com/tensorflow/tensorflow/issues

上提交问题也会有所帮助

【讨论】:

以上是关于将 keras 模型从 pb 文件转换为 tflite 文件的主要内容,如果未能解决你的问题,请参考以下文章

从 Keras 构建 TensoRRT 引擎时出错

如何将 Keras .h5 导出到 tensorflow .pb?

Tensorflow (.pb) 格式到 Keras (.h5)

将 Keras 模型导出到 .pb 文件并针对推理进行优化会在 Android 上提供随机猜测

如何将保存的模型转换或加载到 TensorFlow 或 Keras?

将 Facenet 模型 .pb 文件转换为 TFLITE 格式时出错