模型压缩-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的比例,等。
我们刚接到一个项目时,一开始并不是如何设计模型,而是去先跑一个现有的模型,看在项目需求在现有模型下面效果怎么样.当现有模型效果不错需要深入挖掘时,仅仅时跑现有模型是不够的,比如,如果你要在嵌入式里面去 ...
随机推荐
- FreeRTOS任务基础概念
RTOS系统的核心就是任务管理: 任务的特性 在RTOS中每个任务都有自己的运行环境,不依赖于系统中其他的任务或者调度器,任何一个时间点只能有一个任务运行,具体运行哪个任务是由任务调度器来决定的,而任 ...
- win10+CPU+Python3.6下安装pytorch
- 写在前面 最近,学习之余,想继续搞以前的深度学习.虽然电脑上已经安装配置好tensorflow,但是鉴于其学习难度较高,且我是一个忠实的Pythoner(爱所有Python化的东西),因此果断入坑 ...
- java线程基础巩固---多线程死锁分析,案例介绍
之前已经学习了关于同步锁的知识,但是在实际编写多线程程序时可能会存在死锁的情况,所以这次来模拟一下死锁,并且学会用一个命令来确认是否程序已经出现死锁了,下面开始: 首先新建两个类: 此时当然得到Oth ...
- windwos服务器 无法与本地电脑进行复制粘贴解决办法
之前复制粘贴功能可以使用 现在突然间不能使用了 1.打开任务管理器,查看进程,如果有 rdpclip.exe 进程,先关闭该进程2.开始->运行->rdpclip.exe,重新运行此程序 ...
- gorm忽略struct种的field, 不映射到表里面
https://github.com/jinzhu/gorm/pull/1111/commits/3c01fe791514d7064791a17d8b067106866d1e2f
- Selenium(五)鼠标和键盘事件
1.模拟鼠标找到大分类下的子分类.以网易严选为例. 如果直接找到 坚果炒货 这个元素,然后点击它来实现跳转,是会报错的. 模拟鼠标停留--点击行为: 页面已成功跳转 2.键盘事件 模拟搜索操作: ...
- Java并发包--线程池原理
转载请注明出处:http://www.cnblogs.com/skywang12345/p/3509954.html 线程池示例 在分析线程池之前,先看一个简单的线程池示例. 1 import jav ...
- 02 | 日志系统:一条SQL更新语句是如何执行的?
前面我们系统了解了一个查询语句的执行流程,并介绍了执行过程中涉及的处理模块.相信你还记得,一条查询语句的执行过程一般是经过连接器.分析器.优化器.执行器等功能模块,最后到达存储引擎. 那么,一条更新语 ...
- Share Point安裝
Win7上裝不了WSS(Sharepoint3.3),而安裝SharePoint Foundation 2010時候又由於不能跑PrerequisiteInstaller.exe,很多該裝的組件裝不上 ...
- CF788C The Great Mixing BFS+思维
这个模型十分巧妙啊,好题好题~ code: #include <bits/stdc++.h> #define N 3006 #define setIO(s) freopen(s" ...