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

Posted 17岁boy想当攻城狮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tensor Flow V2:将Tensor Flow H5模型文件转换为tflite相关的知识,希望对你有一定的参考价值。

目录

H5模型文件介绍

Tflite模型文件介绍

转换代码


H5模型文件介绍

h5文件全称HDF5,是Tensor Flow2.0新增的文件模型,它保存了训练时的所有参数包括权重等特征信息,与其它模型文件不同的是它保存只有一个二进制文件,保存的文件会比较大因为包含了所有训练信息。

Tflite模型文件介绍

Tflite是Tensor Flow Tflite上特有的模型文件类型,它文件较小也是一个纯二进制文件,是一个轻量级的模型库,Tensor Flow的模型文件可以与Tflite之间互相转换,但是每次转换会丢失精度,Tflite会过滤掉许多可能重复的特征信息,所以往Tflite转换是会损失精度的。

转换代码

首先包含tf包

import tensorflow as tf

我使用的是Keas模型,所以这里要加载H5文件的话使用load_model,2.0以上用这个API,2.0以下用form_keras_model_file

将keras模型文件加载到内存

keras_model = tf.keras_models.load_model("./test.h5")

然后在将keras模型文件转化为lite文件格式

converter = tf.lite.TFLiteConverter.from_keras_model(keras_model)

格式化数据输出

tflite_model = converter.convert()

在将数据写入到tflite文件中

open("./test1.tflite","wb").write(tflite_model)

在本地就可以看到test1.tflite的文件了

完整代码

#!/usr/bin/env python
# coding=utf-8

import tensorflow as tf

keras_model = tf.keras_models.load_model("./test.h5")
converter = tf.lite.TFLiteConverter.from_keras_model(keras_model)
tflite_model = converter.convert()

open("./test1.tflite","wb").write(tflite_model)

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

Tensor Flow V2:基于Tensor Flow Keras的摄氏度到华氏度温度转换的训练模型

Tensor Flow V2:基于Tensor Flow Keras的摄氏度到华氏度温度转换的训练模型

Python - Tensor Flow Error,Tensor必须来自同一个图形

tensor flow入门笔记

tensor flow 的两种padding方式

tensor flow 线性回归