无法将.h5文件转换为tflite模型

时间:2020-03-13 18:27:51

标签: tensorflow machine-learning keras tensorflow2.0

我已经训练了一个模型并将其保存为h5文件。由于我想在我的Android应用程序中使用它,因此我希望将其转换为Colab上的tflite。这是我的代码:

import tensorflow as tf
model = tf.keras.models.load_model('Final_model.h5')
converter = tf.lite.TFLiteConverter.from_keras_model(model)
tflite_model = converter.convert()
open("converted_model.tflite", "wb").write(tflite_model)

我得到的错误:

AttributeError: type object 'TFLiteConverter' has no attribute 'from_keras_model'

我该如何解决?

2 个答案:

答案 0 :(得分:0)

您正在使用Tensorflow 1.x,在这种情况下,它的名称略为different API。您应该使用的是from_keras_model_file,即:

converter = tf.lite.TFLiteConverter.from_keras_model_file('Final_model.h5')

答案 1 :(得分:0)

您正在使用colab's默认tensorflow,即1.15.0

您可以通过从colab的单元发布来下载最新版本:

!pip install --upgrade pip && pip install tensorflow

您可能必须通过以下命令预先卸载tensorflow 1.15.0版:

!pip uninstall tensorflow (or tensorflow-gpu)

之后,您应该可以运行tf2.x代码。

注意::很快,TF2.0将成为默认版本,并且此解决方法是暂时的。