量化框架qkeras:
qkeras是谷歌的感知训练量化框架,具有一些功能:
1、支持导入keras模型到qkeras模型;
2、支持剪枝和量化,使用tensorflow lite一起配合,简直不要太好用;
3、支持指定量化函数,量化的bit数目、量化的小数点左边bit数、对称性等;
4、容易扩展,可以使用keras的设计准则自定义构建块去扩展keras的函数,并且发展出sota模型;
qkeras的量化:
1、使用keras搭建的模型,可以直接转换成qkeras的量化模型;
2、使用pytorch、mxnet等其他框架搭建的模型,可以手动转换成qkeras搭建的模型;
示例:
官网的实例直接运行会有比较多的问题,这里改成这样的导入方式,解决问题;并且保留最核心的部分,删除无用语句。
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
import tensorflow as tf
from qkeras import *
from qkeras.utils import model_save_quantized_weights
import numpy as np
np.random.seed(42)
NB_EPOCH = 100
BATCH_SIZE = 64
VERBOSE = 1
NB_CLASSES = 10
OPTIMIZER = tf.keras.optimizers.legacy.Adam(lr=0.0001, decay=0.000025)
VALIDATION_SPLIT = 0.1
train = 1
# 1、导入数据;
(x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data()
RESHAPED = 784
x_test_orig = x_test
x_train = x_train.astype("float32")
x_test = x_test.astype("float32")
x_train = x_train[.

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



