Tensor Flow V2:将Tensor Flow H5模型文件转换为tflite
Posted 17岁boy想当攻城狮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tensor Flow V2:将Tensor Flow 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的摄氏度到华氏度温度转换的训练模型