MixConv
深度分离卷积一般使用的是3*3的卷积核,这篇论文在深度分离卷积时使用了多种卷积核,并验证了其有效性
1、大的卷积核能提高模型的准确性,但也不是越大越好。如下,k=9时,精度逐渐降低

2、 mixConv及其实现
挺简洁的,可直接替换深度分离卷积
def mdconv(x, filters, **args):
G = len(filters)
y = []
for xi, fi in zip(tf.split(x, G, axis=-1), filters):
y.append(tf.nn.depthwise_conv2d(xi, fi, **args))
return tf.concat(y, axis=-1)

3、有效性

4、MixConv设计
(1)G 的选择
通过搜索来选择,并不固定
(2)kernel size
通过搜索从{3x3, 5x5, 7x7,9x9}中选择
(3)Channel Size Per Group
两种策略,一种每组通道数相同,一种相邻/2,如32个通道,(8,8,8,8)或者(16,8,4,4)
(4)Dilated Convolution
想用空洞卷积替换大的卷积核,实验证明效果没有大的卷积核好使
5、验证
通过flops证明效率高,这个并不令人信服
为啥与9*9的卷积比?
提升的并不明显
为啥不和mobilentV3比?


6、Ablation Study
(1)As shown in the figure, large kernel size has different impact on different layers: for most of layers, the accuracy doesn’t change much,
but for certain layers with stride 2, a larger kernel can significantly improve the accuracy.
没看出来。。。。
(2)通道划分策略在不同模型上,表现的性能不一样。V1上exp策略更好,V2上均分更好
(3) 空洞卷积在小核上表现还好,大卷积核上急速下降(图上看不出来用多大卷积核会这样。。。。)

7、搜索网络



看着还行。。。
参考:
https://zhuanlan.zhihu.com/p/75242090
MixConv的更多相关文章
- 深度学习笔记(十一)网络 Inception, Xception, MobileNet, ShuffeNet, ResNeXt, SqueezeNet, EfficientNet, MixConv
1. Abstract 本文旨在简单介绍下各种轻量级网络,纳尼?!好吧,不限于轻量级 2. Introduction 2.1 Inception 在最初的版本 Inception/GoogleNet, ...
- MixNet:MixConv:Mixed Depthwise Convolution kernels
随机推荐
- 使用mysql以及连接数据库
MySQL Table of Contents 1. 安装与配置 2. 数据库与账户 3. 用户跟权限 4. 常用命令 5. 表的创建 6. 数据类型 7. 主键约束 8. 表的修改 9. 引擎(En ...
- java中的过滤器 --Filter
package filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.Filter ...
- hibernate多对一单项关联映射
1.实体类编写: 用户类: public class User { private int id; private String name; private Group group; ..... } ...
- webpack4常用片段
webpack 4常用 初始化 npm init // Webpack 4.0以后需要单独安装 npm install webpack webpack-cli --save-dev 基础的config ...
- 异步分发任务celery
Celery简介 Celery是一个功能完备即插即用的任务队列.它使得我们不需要考虑复杂的问题,使用非常简单. celery适用异步处理问题,当遇到发送邮件.或者文件上传, 图像处理等等一些比较耗时的 ...
- ssh config高级用法
转载自:Chapter 7. Advanced Client Use 1. 配置文件 ssh1和Openssh的配置文件在.ssh/ssh_config ssh2配置文件在.ssh2/ssh2_con ...
- 阶段3 1.Mybatis_09.Mybatis的多表操作_9 mybatis多对多操作-查询用户获取用户所包含的角色信息
sql语句以user作为主表 用户的全部信息,以为用户下的角色的.并不是所有的用户都有角色,有角色的就带角色.没角色的就为null 首先修改实体类 定义List<Role> 生成gette ...
- 阿里云 Centos7 部署 Django 项目
前期准备 阿里云服务器 mysql数据库 已经本地运行成功的项目 阿里云服务器的环境配置 Git #代码管理 Gitlab #代码托管,要求服务器内存不低于2G,我选择放弃 Mysql #连接数据库 ...
- Java多线程学习——join方法的使用
join在线程里面意味着“插队”,哪个线程调用join代表哪个线程插队先执行——但是插谁的队是有讲究了,不是说你可以插到队头去做第一个吃螃蟹的人,而是插到在当前运行线程的前面,比如系统目前运行线程A, ...
- PDFObject的使用(转)
1.pdfobject.js官网:https://pdfobject.com/ 2.在html文件中引入这个文件,以pdfobject.min.js为例 1 <script type=" ...