Tensorflow 2,将 .h5 模型转换为 .tflite,缺少 .pb 和 .pbtext

Posted

技术标签:

【中文标题】Tensorflow 2,将 .h5 模型转换为 .tflite,缺少 .pb 和 .pbtext【英文标题】:Tensorflow 2, converting .h5 model to .tflite, missing .pb and .pbtext 【发布时间】:2021-06-11 13:39:38 【问题描述】:

尝试将 .h5 模型转换为 .tflite 时出现此错误

OSError:SavedModel 文件不存在于:/home/xyz/Desktop/facial-expression-recognition-using-cnn-master/model/saved_model.pbtxt|saved_model.pb

模型保存为 .h5,但不保存 .pb 或 .pbtext 文件。请问有办法将.h5文件转换成.tflite吗?

谢谢

【问题讨论】:

我不知道 tensorflow 文件的具体细节,但是有关于转换 HDF5 的问题,例如How to convert just a h5 file to a tflite file? 试过了,我得到一个错误 Traceback(最近一次调用最后一次):文件“/home/xyz/Desktop/facial-expression-recognition-using-cnn-master/conv.py”,行22,在 keras_mod = load_model(mod_path) 文件 "/home/xyz/Desktop/facial-expression-recognition-using-cnn-master/conv.py",第 15 行,在 load_model 中使用 open('%s. json' % path,'r') as json_file: FileNotFoundError: [Errno 2] No such file or directory: '/home/xyz/Desktop/facial-expression-recognition-using-cnn-master/best_model/saved_model.json' 2.4.1 tf.lite.TFLiteConverter.from_keras_model(model) 应该可以工作。 【参考方案1】:

将 keras h5 模型转换为 tflite

tflite_convert \
  --keras_model_file=/tmp/keras_model.h5
  --output_file=/tmp/keras_model.tflite

【讨论】:

以上是关于Tensorflow 2,将 .h5 模型转换为 .tflite,缺少 .pb 和 .pbtext的主要内容,如果未能解决你的问题,请参考以下文章

Tensor Flow V2:将Tensor Flow H5模型文件转换为tflite

Tensor Flow V2:将Tensor Flow H5模型文件转换为tflite

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

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

Tensorflow 2.X h5转pb

如何将 Keras .h5 模型转换为暗网 yolo.weights 格式?