首页 > 其他分享 >【杂谈】当前模型量化有哪些可用的开源工具?

【杂谈】当前模型量化有哪些可用的开源工具?

时间:2022-10-12 18:06:02浏览次数:71  
标签:github 模型 杂谈 Quantization 开源 https 量化 com


模型量化属于模型优化中的重要技术之一,是非常有效地提升模型推理速度的技术方案,那么当前有哪些可用的模型量化工具呢?

作者&编辑 | 言有三

1 Tensorflow Lite

TensorFlow Lite是谷歌推出的面向嵌入式设备的推理框架,支持float16和int8低精度,其中8bit量化算法细节可以参考白皮书“Quantizing deep convolutional networks for efficient inference: A whitepaper”,支持训练后量化和量化感知训练,这也是大部分量化框架的算法原理。

【杂谈】当前模型量化有哪些可用的开源工具?_tensorflow

​https://github.com/tensorflow/model-optimization​

另外新技术的尝鲜可以关注TensorFlow Model Optimization Toolkit,地址如上,它是谷歌官方开源的模型优化技术包,目前包含了模型剪枝和量化两种API。如果想使用该工具包,需要安装tf-nightly or tf-nightly-gpu。不过会有一些环境冲突,所以体验者最好做好环境隔离工作。

2 TensorRT

TensorRT是Nvidia提出的神经网络推理(Inference)引擎,支持训练后8bit量化,它使用基于交叉熵的模型量化算法,通过最小化两个分布的差异程度来实现。

【杂谈】当前模型量化有哪些可用的开源工具?_github_02

​https://github.com/NVIDIA/TensorRT​

caffe-int8-convert-tools是一个Caffe模型量化工具,基于TensorRT2.0。

​https://github.com/BUG1989/caffe-int8-convert-tools​

3 PaddleSlim

PaddleSlim是百度提出的模型量化工具,包含在PaddlePaddle框架中,支持量化感知训练,离线量化,权重全局量化和通道级别量化。

【杂谈】当前模型量化有哪些可用的开源工具?_github_03

​https://github.com/PaddlePaddle/models/tree/develop/PaddleSlim/quant_low_level_api​

4 Pytorch

Pytorch1.3开始已经支持量化功能,基于QNNPACK实现,支持训练后量化,动态量化和量化感知训练等技术。

【杂谈】当前模型量化有哪些可用的开源工具?_github_04

​https://github.com/pytorch/glow/blob/master/docs/Quantization.md​

​https://github.com/pytorch/QNNPACK​

另外Distiller是Intel基于Pytorch开源的模型优化工具,自然也支持Pytorch中的量化技术。

​https://github.com/NervanaSystems/distiller​

5 其他框架

微软的NNI集成了多种量化感知的训练算法,并支持PyTorch,TensorFlow,MXNet,Caffe2等多个开源框架。

【杂谈】当前模型量化有哪些可用的开源工具?_tensorflow_05

​https://github.com/microsoft/nni​

keras,Core ML的相关量化开源工具如下

​https://github.com/google/qkeras​

​https://github.com/kingreza/quantization​

6 一些论文的实现

以下是一些重要文章算法的实现,发布机构包括Intel研究院,Xilinx,Facebook等。

[1] 论文Incremental Network Quantization: Towards Lossless CNNs with Low-Precision Weights by英特尔https://github.com/AojunZhou/Incremental-Network-Quantization

[2] 论文FINN: A Framework for Fast, Scalable Binarized Neural Network Inference by Xlinx
​​​https://github.com/Xilinx/BNN-PYNQ​

[3] 论文And the bit goes down: Revisiting the quantization of neural networks by FaceBook

​https://github.com/facebookresearch/kill-the-bits​

[4] 论文LQ-Nets: Learned Quantization for Highly Accurate and Compact Deep Neural Networks by microsoft

​https://github.com/microsoft/LQ-Nets​

[5] 论文HAQ: Hardware-Aware Automated Quantization with Mixed Precision by Massachusetts Institute of Technology

​https://github.com/mit-han-lab/haq​

更多的留待读者自己学习吧,咱们就不沉迷于收藏了。

标签:github,模型,杂谈,Quantization,开源,https,量化,com
From: https://blog.51cto.com/u_14122493/5751238

相关文章

  • 实验5:开源控制器实践——POX
    一、基础要求1、使用tcpdump验证Hub模块h1pingh22、使用tcpdump验证Switch模块L2_learning模块代码流程图h1pingh2h1pingh3二、进阶要求1、重新搭建......
  • 开源控制器实践——POX
    实验目的能够理解POX控制器的工作原理;通过验证POX的forwarding.hub和forwarding.l2_learning模块,初步掌握POX控制器的使用方法;能够运用POX控制器编写自定义网络应用......
  • 实验5:开源控制器实践——POX
    一、基本要求1.构建拓扑2.使用tcpdump验证Hub1)h1pingh22)h1pingh33.tcpdump验证Switch模块1)h1pingh22)h1pingh34.L2_learning模块代码流程图二、......
  • 实验5:开源控制器实践——POX
    (一)基本要求1.阅读Hub模块代码,使用tcpdump验证Hub模块h1pingh2的tcpdump抓包结果h1pingh3的tcpdump抓包结果2.阅读L2_learning模块代码,画出程序流程图,使用tcpd......
  • 【杂谈】想成为机器学习学霸?先学会做笔记吧
    今天聊聊记笔记这件事儿,在学习的过程中做好总结记录是非常重要的。作者|小满&有三编辑|小满&有三《人类简史》有一个有趣的现象描写:远古时期的智人是看什么就吃什么,会塞......
  • 【杂谈】那些酷炫的深度学习网络图怎么画出来的?
    ​本文我们聊聊如何才能画出炫酷高大上的神经网络图,下面是常用的几种工具。作者&编辑 | 言有三   1 NN-SVG这个工具可以非常方便的画出各种类型的图,是下面这位小哥哥......
  • 实验5:开源控制器实践——POX
    一、实验目的能够理解POX控制器的工作原理;通过验证POX的forwarding.hub和forwarding.l2_learning模块,初步掌握POX控制器的使用方法;能够运用POX控制器编写自定义网络......
  • 实验五:开源控制器实践——POX
    基本要求1.tcpdump验证Hub模块h1pingh2的tcpdump抓包结果截图h1pingh3的tcpdump抓包结果截图2.tcpdump验证Switch模块h1pingh2的tcpdump抓包结果截图h1p......
  • 【杂谈】您想要的docker环境来了!
    深度学习环境配置一直是大家学习AI的拦路虎,不管你是久经沙场的大佬,还是初出茅庐的小伙,相信你肯定被linux系统环境坑过。快到周末了,咱们就不聊高深莫测的算法了,今天咱们就聊......
  • 实验5:开源控制器实践—— POX
    实验5:开源控制器实践——POX一、实验目的1.能够理解POX控制器的工作原理;2.通过验证POX的forwarding.hub和forwarding.l2_learning模块,初步掌握POX控制器的使用方......