如何将keras(h5)文件转换为tflite文件?

9 python machine-learning keras tensorflow

我有一个keras(h5)文件。我需要将其转换为tflite?我研究了一下,首先我需要通过h5-> pb-> tflite(因为h5-tflite有时会导致某些问题)

Baa*_*aru 19

这在 Windows 10 上使用 Tensorflow 2.1.0 和 Keras 2.3.1 对我有用

import tensorflow as tf

model = tf.keras.models.load_model('model.h5')
converter = tf.lite.TFLiteConverter.from_keras_model(model)
tflite_model = converter.convert()
open("converted_model.tflite", "wb").write(tflite_model)
Run Code Online (Sandbox Code Playgroud)


小智 10

from tensorflow.contrib import lite
converter = lite.TFLiteConverter.from_keras_model_file( 'model.h5')
tfmodel = converter.convert()
open ("model.tflite" , "wb") .write(tfmodel)
Run Code Online (Sandbox Code Playgroud)

您可以使用TFLiteConverter将.h5文件直接转换为.tflite文件。 在Windows上不起作用。

对于Windows,请使用此Google Colab笔记本进行转换。上载.h5文件,它将转换为.tflite文件。

请遵循,如果您想自己尝试:

  1. 创建一个Google Colab笔记本。点击左上角的“上传”按钮,然后上传您的.h5文件。
  2. 创建一个代码单元并插入此代码。

    from tensorflow.contrib import lite
    converter = lite.TFLiteConverter.from_keras_model_file( 'model.h5' ) # Your model's name
    model = converter.convert()
    file = open( 'model.tflite' , 'wb' ) 
    file.write( model )
    
    Run Code Online (Sandbox Code Playgroud)
  3. 运行单元格。您将获得一个model.tflite文件。右键单击该文件,然后选择“下载”选项。

  • 在较新版本的tensorflow中,TFLiteConverter已移至“tf.lite.TFLiteConverter”请参阅:https://www.tensorflow.org/lite/convert/python_api (3认同)

小智 6

刚刚在 CoLab 中使用笔记本中的代码完成了此操作:

import tensorflow as tf
model = tf.keras.models.load_model('yourmodel.h5')
converter = tf.lite.TFLiteConverter.from_keras_model(model)
tflmodel = converter.convert()
file = open( 'yourmodel.tflite' , 'wb' ) 
file.write( tflmodel )
Run Code Online (Sandbox Code Playgroud)

我在通过 CoLab 上传 h5 模型时遇到困难,因此我安装了 Google Drive,将其上传到那里,然后将其移至笔记本内容文件夹。