
低比特量化
文章平均质量分 94
just_sort
Acdream.
展开
-
基于OneFlow实现量化感知训练
【GiantPandaCV导语】本文介绍了量化感知训练的原理,并基于OneFlow实现了一个量化感知训练Demo,并介绍了在具体实现中的各种细节。希望对想学习量化感知训练的读者有用,本文仅做学习交流。0x0. 前言这篇文章主要是讲解一下量化感知训练的原理,以及基于OneFlow实现一个Demo级别的手动量化感知训练。0x1. 后量化以及量化感知训练原理这里说的量化一般都是指的Google TFLite的量化方案,对应的是Google 的论文 Quantization and Training o.原创 2021-08-08 23:10:03 · 511 阅读 · 0 评论 -
Pytorch实现卷积神经网络训练量化(QAT)
1. 前言深度学习在移动端的应用越来越广泛,而移动端相对于GPU服务来讲算力较低并且存储空间也相对较小。基于这一点我们需要为移动端定制一些深度学习网络来满足我们的日常续需求,例如SqueezeNet,MobileNet,ShuffleNet等轻量级网络就是专为移动端设计的。但除了在网络方面进行改进,模型剪枝和量化应该算是最常用的优化方法了。剪枝就是将训练好的大模型的不重要的通道删除掉,在几乎不影响准确率的条件下对网络进行加速。而量化就是将浮点数(高精度)表示的权重和偏置用低精度整数(常用的有INT8)来近原创 2020-07-28 23:37:59 · 9957 阅读 · 8 评论 -
低比特量化之DoreFa-Net理论与实践
1. 前言之前已经算是仔细的讲解过DoreFaNet的原理了,见:深度学习算法优化系列十二 | 旷视科技 DoReFa-Net ,所以今天这篇文章的目的是如何将DoreFaNet进行应用,在此之前还是简单回顾原理。2. DoreFaNet和前面我们讲过的BNN和TWN相比,DoreFa-Net并没有针对卷积层输出的每一个...原创 2020-07-25 21:58:40 · 3388 阅读 · 1 评论 -
Keras2NCNN?Yes
1. 前言这篇文章是记录笔者最近想尝试将自己开发的分割工程模型利用NCNN部署所做的一些工作,经过一些尝试和努力算是找到了一种相对简单的方法。因此这篇文章将笔者的工作分享出来,希望对使用Keras训练模型但苦于无法部署到移动端,或者使用Keras模型通过ONNX转到其它推理框架时碰到各种OP支持无法解决的读者带来些许帮助。2. 转换路线我的转换路线为:Keras->Caffe->NCNN首先Caffe->NCNN是NCNN默认支持的,所以不需要我做任何工作,所以我的工作主要就是K原创 2020-07-21 21:10:14 · 783 阅读 · 0 评论 -
低比特量化之XNOR-Net
论文:XNOR-Net: ImageNet Classification Using Binary Convolutional Neural Networks链接:https://arxiv.org/abs/1603.05279代码:http://allenai.org/plato/xnornet1. 前言前面已经介绍了2篇低比特量化的相关文章,分别为:基于Pytorch构建一个可训练的BNN 以及 基于Pytorch构建三值化网络TWN 。在讲解那2篇文章的时候可能读者会发现某些小的知识点出现.原创 2020-07-19 23:09:09 · 719 阅读 · 0 评论 -
基于Pytorch构建三值化网络TWN
1. 前言三值化网络是2016年由Fengfu Li在论文《Ternary Weight Networks》中提出来的,它相比二值化网络具有更好的效果。论文地址如下:https://arxiv.org/abs/1605.04711 。2. 出发点首先,论文提出多权值比二值化具有更好的网络泛化能力。论文中提到,在VGG,GoogLeNet 和残留网络等最新的网络体系结构中,最常用的卷积滤波器大小为3×33\times 33×3,如果使用上一节提到的二值权重,有23×3=5122^{3\times 3}=原创 2020-07-14 23:39:28 · 1215 阅读 · 0 评论 -
基于Pytorch构建一个可训练的BNN
1. 前言一般我们在构建CNN的时候都是以32位浮点数为主,这样在网络规模很大的情况下就会占用非常大的内存资源。然后我们这里来理解一下浮点数的构成,一个float32类型的浮点数由一个符号位,8个指数位以及23个尾数为构成,即:符号位[ ] + 指数位[ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] + 尾数[ ]*23我们可以看到,每个float32浮点数里面一共有223=838860872^{23}=83886087223=83886087个二进制对应表示2232^{23}223个数原创 2020-07-06 23:20:58 · 2962 阅读 · 0 评论