深度分离卷积一般使用的是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的更多相关文章

  1. 深度学习笔记(十一)网络 Inception, Xception, MobileNet, ShuffeNet, ResNeXt, SqueezeNet, EfficientNet, MixConv

    1. Abstract 本文旨在简单介绍下各种轻量级网络,纳尼?!好吧,不限于轻量级 2. Introduction 2.1 Inception 在最初的版本 Inception/GoogleNet, ...

  2. MixNet:MixConv:Mixed Depthwise Convolution kernels

随机推荐

  1. 使用mysql以及连接数据库

    MySQL Table of Contents 1. 安装与配置 2. 数据库与账户 3. 用户跟权限 4. 常用命令 5. 表的创建 6. 数据类型 7. 主键约束 8. 表的修改 9. 引擎(En ...

  2. java中的过滤器 --Filter

    package filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.Filter ...

  3. hibernate多对一单项关联映射

    1.实体类编写: 用户类: public class User { private int id; private String name; private Group group; ..... } ...

  4. webpack4常用片段

    webpack 4常用 初始化 npm init // Webpack 4.0以后需要单独安装 npm install webpack webpack-cli --save-dev 基础的config ...

  5. 异步分发任务celery

    Celery简介 Celery是一个功能完备即插即用的任务队列.它使得我们不需要考虑复杂的问题,使用非常简单. celery适用异步处理问题,当遇到发送邮件.或者文件上传, 图像处理等等一些比较耗时的 ...

  6. ssh config高级用法

    转载自:Chapter 7. Advanced Client Use 1. 配置文件 ssh1和Openssh的配置文件在.ssh/ssh_config ssh2配置文件在.ssh2/ssh2_con ...

  7. 阶段3 1.Mybatis_09.Mybatis的多表操作_9 mybatis多对多操作-查询用户获取用户所包含的角色信息

    sql语句以user作为主表 用户的全部信息,以为用户下的角色的.并不是所有的用户都有角色,有角色的就带角色.没角色的就为null 首先修改实体类 定义List<Role> 生成gette ...

  8. 阿里云 Centos7 部署 Django 项目

    前期准备 阿里云服务器 mysql数据库 已经本地运行成功的项目 阿里云服务器的环境配置 Git #代码管理 Gitlab #代码托管,要求服务器内存不低于2G,我选择放弃 Mysql #连接数据库 ...

  9. Java多线程学习——join方法的使用

    join在线程里面意味着“插队”,哪个线程调用join代表哪个线程插队先执行——但是插谁的队是有讲究了,不是说你可以插到队头去做第一个吃螃蟹的人,而是插到在当前运行线程的前面,比如系统目前运行线程A, ...

  10. PDFObject的使用(转)

    1.pdfobject.js官网:https://pdfobject.com/ 2.在html文件中引入这个文件,以pdfobject.min.js为例 1 <script type=" ...