模型压缩-L1-norm based channel pruning(Pruning Filters for Efficient ConvNets)
论文笔记——PRUNING FILTERS FOR EFFICIENT CONVNETS
论文地址:https://arxiv.org/abs/1608.08710
路人实现代码:https://github.com/tyui592/Pruning_filters_for_efficient_convnets
https://github.com/slothkong/DNN-Pruning
主要思想
这篇文章主要讲了对filters的裁剪,裁剪方法是计算L1范数,然后裁剪掉较少的,多少取决于加速比。
实现效果
- VGG-16 34%加速
- ResNet-101 38%加速
具体实现

- 对于每一个kernel matrix按列绝对值求和
- 对求和结果排序
- 裁剪掉m个filters(对应内核矩阵的列),以及对应的输出(Xi+1层中),它又是下一层的输入,所以也得去掉对应的输入filters(对应内核矩阵的行)
- 剩余的kernel weights保留
实现细节

在跨越多层裁剪的过程中,可能出现kernel matrix裁剪交叉的情况,两种处理方法:
- Independent pruning 假设蓝色是确定要裁剪的,然后计算绿色的L1时,要考虑黄色的值,跟之前的裁剪无关。
- Greedy pruning 也就是计算绿色的L1时,不考虑已经被裁剪的黄色值
结果:
第二种的准确率辉更高。

残差网络的处理:
- 第一层随意裁剪(根据需求),因为它只会影响Xi+1的输入,但是不会影响最后的输出。
- residual block里面的裁剪需要注意,因为裁剪需要和shortcut layer保持一致,才能累加。
- 因为identical feature maps比added residual maps更重要,所以后者的裁剪结果应该由前者决定。
Prune and Retrain 方法
- 裁剪所有层后再继续训练网络
- 裁剪一层,重新训练一下
结果:
显然第二种好啊,第一种太暴力了,可能造成无法修复的裁剪
模型压缩-L1-norm based channel pruning(Pruning Filters for Efficient ConvNets)的更多相关文章
- 论文笔记——PRUNING FILTERS FOR EFFICIENT CONVNETS
论文地址:https://arxiv.org/abs/1608.08710 主要思想 这篇文章主要讲了对filters的裁剪,裁剪方法是计算L1范数,然后裁剪掉较少的,多少取决于加速比. 实现效果 V ...
- 模型压缩-Learning Efficient Convolutional Networks through Network Slimming
Zhuang Liu主页:https://liuzhuang13.github.io/ Learning Efficient Convolutional Networks through Networ ...
- 【转载】NeurIPS 2018 | 腾讯AI Lab详解3大热点:模型压缩、机器学习及最优化算法
原文:NeurIPS 2018 | 腾讯AI Lab详解3大热点:模型压缩.机器学习及最优化算法 导读 AI领域顶会NeurIPS正在加拿大蒙特利尔举办.本文针对实验室关注的几个研究热点,模型压缩.自 ...
- 【模型压缩】MetaPruning:基于元学习和AutoML的模型压缩新方法
论文名称:MetaPruning: Meta Learning for Automatic Neural Network Channel Pruning 论文地址:https://arxiv.org/ ...
- CNN 模型压缩与加速算法综述
本文由云+社区发表 导语:卷积神经网络日益增长的深度和尺寸为深度学习在移动端的部署带来了巨大的挑战,CNN模型压缩与加速成为了学术界和工业界都重点关注的研究领域之一. 前言 自从AlexNet一举夺得 ...
- 对抗性鲁棒性与模型压缩:ICCV2019论文解析
对抗性鲁棒性与模型压缩:ICCV2019论文解析 Adversarial Robustness vs. Model Compression, or Both? 论文链接: http://openacc ...
- 模型压缩-ThiNet
转载:https://blog.csdn.net/u014380165/article/details/77763037 https://www.twblogs.net/a/5b8d02472b717 ...
- 强化学习之 免模型学习(model-free based learning)
强化学习之 免模型学习(model-free based learning) ------ 蒙特卡罗强化学习 与 时序查分学习 ------ 部分节选自周志华老师的教材<机器学习> 由于现 ...
- 模型压缩,模型减枝,tf.nn.zero_fraction,统计0的比例,等。
我们刚接到一个项目时,一开始并不是如何设计模型,而是去先跑一个现有的模型,看在项目需求在现有模型下面效果怎么样.当现有模型效果不错需要深入挖掘时,仅仅时跑现有模型是不够的,比如,如果你要在嵌入式里面去 ...
随机推荐
- 关于HA(双机冗余接口)
HA是双机接口,即说明这款防火墙支持双机冗余并行运行模式,可以用同型号的两台机器同时接上联和下联线路,并用线路将两台机器的HA口连接起来,达到协同工作,并行运行的功能. 高可用性H.A.(High A ...
- Hadoop添加LZO压缩支持
启用lzo的压缩方式对于小规模集群是很有用处,压缩比率大概能降到原始日志大小的1/3.同时解压缩的速度也比较快. 安装 准备jar包 1)先下载lzo的jar项目https://github.com/ ...
- JAVA遇见HTML——JSP篇(JSP内置对象上)
action:表单交给哪个动作去处理 MIME类型: 浏览器通常使用MIME类型(而不是文件扩展名)来确定如何处理文档:因此服务器设置正确以将正确的MIME类型附加到响应对象的头部是非常重要的. 语法 ...
- Python进阶:都说好用的 Python 命令行库click
click 是一个以尽可能少的代码.以组合的方式创建优美的命令行程序的 Python 包.它有很高的可配置性,同时也能开箱即用. 它旨在让编写命令行工具的过程既快速又有趣,还能防止由于无法实现预期的 ...
- 企业级分布式 HTAP 数据库管理系统 TBase
TBase 是腾讯数据平台团队在开源的 PostgreSQL 基础上研发的企业级分布式 HTAP 数据库管理系统: 具备高性能可扩展的分布式事务能力,支持 RC 和 RR 两种隔离级别: 通过安全.管 ...
- C指针与数组
通过指针遍历数组的小把戏 #include<stdio.h> #include<stdlib.h> #include<Windows.h> void main() ...
- 解决每次执行Java等命令时都要重新source /etc/profile后才能执行,否则找不到命令
linux mint 我们通常将环境变量设置在/etc/profile这个文件中,这个文件是全局的. /etc/profile:在登录时,操作系 统定制用户环境时使用的第一个文件 ,此文件为系统的每个 ...
- for迭代多个对象
1.传统方法 from random import randint chinese = [randint(60, 100) for _ in range(40)] math = [randint(60 ...
- js 获取窗口大小
//获得窗口大小 function findDimensions() //函数:获取尺寸 { var point = {}; ...
- 【题解】[USACO2007 OCT]Obstacle Course-C++
题目Description考虑一个 N x N (1 <= N <= 100)的有1个个方格组成的正方形牧场.有些方格是奶牛们不能踏上的,它们被标记为了’x’.例如下图: . . B x ...