用tflite工具量化keras的h5模型,并查看权重信息

Step1: 准备好一个h5模型
Step2: 利用以下代码,使用tflite包进行量化
'''
env: tf-2.1.0, keras-2.3.1
'''
import tensorflow as tf
from tensorflow import keras
import numpy as np

#加载原始模型(参数通常为float32)
saved_model_dir='./your_keras_model.h5'
loaded_model = tf.keras.models.load_model(saved_model_dir)

#定义转换器
converter = tf.lite.TFLiteConverter.from_keras_model(loaded_model)
#--定义量化配置,这里是量化成float16
converter.optimizations = [tf.lite.Optimize.DEFAULT]
converter.target_spec.supported_types = [tf.float16]

#转换并保存
float_model = converter.convert()
open("./quant_model.tflite", "wb").write(float_model)
Step3: 使用GitHub上的一个开源代码查看量化后的权重

打开后可以直接使用browser模式,在浏览器中查看权重。

可以上传量化前的h5模型与tflite模型进行权重对比。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Reference:

keras模型h5格式转换tfLite和手机端部署

tensorflow API: post_training_quantization

Github: lutzroeder/netron

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
对于使用TensorFlow 2.3训练数字识别模型并将其量化TFLite,然后部署到OpenMV上,你可以按照以下步骤进行操作: 1. 数据集准备:收集和准备用于数字识别的图像数据集。确保数据集具有适当的标签和类别。 2. 模型训练:使用TensorFlow 2.3构建和训练适合数字识别的模型,例如卷积神经网络(CNN)。确保在训练过程中使用适当的评估指标和优化算法。 3. 模型量化:在训练完成后,将训练好的模型量化TFLite格式。TFLite是一种针对移动和嵌入式设备的轻量级模型表示形式。 ```python import tensorflow as tf # 加载训练好的模型 model = tf.keras.models.load_model('trained_model.h5') # 量化模型 converter = tf.lite.TFLiteConverter.from_keras_model(model) converter.optimizations = [tf.lite.Optimize.DEFAULT] tflite_model = converter.convert() # 保存量化后的模型 with open('quantized_model.tflite', 'wb') as f: f.write(tflite_model) ``` 4. OpenMV准备:确保你已经按照OpenMV官方文档的指导,设置并准备好OpenMV开发环境。 5. 部署到OpenMV:将量化后的TFLite模型部署到OpenMV上进行推理。可以使用OpenMV的MicroPython编程语言进行开发。 - 将`quantized_model.tflite`文件复制到OpenMV设备上,例如SD卡。 - 在OpenMV上编写MicroPython代码,加载模型并进行推理。 ```python import sensor import image import lcd # 初始化OpenMV模块 sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QVGA) sensor.run(1) # 加载TFLite模型 import tf model = tf.load('quantized_model.tflite') # 进行推理 while True: img = sensor.snapshot() # 对图像进行预处理 # ... # 进行推理 output = model.forward(img) # 处理推理结果 # ... ``` 这个过程中,你需要根据你的具体需求和OpenMV设备的要求进行适当的调整和修改。上述步骤仅供参考,你可以根据实际情况进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值