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模型进行权重对比。