tensorflow的量化教程(2)

Google提供的 quantization-aware-trainning的量化训练方法,具体可以参考https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/quantize

对应的论文

https://arxiv.org/abs/1712.05877

还有这个白皮书

https://arxiv.org/abs/1806.08342

简单总结下:

1) 如何训练

 在你定义好网络结构之后, 加上下面这句话,即可量化训练

tf.contrib.quantize.create_training_graph(input_graph=g,
                                          quant_delay=2000000)

 其中,g为你创建好的模型,quant_delay表示网络在进行量化训练前 采用浮点训练的次数,在源码中,quant_delay默认为0。

这个默认值比较适合finetune一个已经训练好的模型。如果重头开始训,quant_delay应该设置为浮点模型收敛时的steps,模型训到此steps之后,量化训练便激活。(从头训练一个模型,quant_delay的值不一定非要取浮点模型收敛时的step值,有时取0,即直接量化训效果会更好)

 可以用tensorboard可视化模型,来查看量化训练是否成功,应该是像下面这样,嵌入伪量化操作

                                                                                               图1

          图2和图3分别为weights_quant和act_quant的展开

评论 37
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值