主要是为了个人理解,做个笔记

1、Pytorch代码

2、论文出处

3、详细介绍

这篇论文在2018年发出来,而ShuffleNet是从2017年由旷视发出来。起初了解shufflenet的提出,主要是为了解决分组卷积所导致的不同分组间信息无法交流的问题,所以采用了channel shuffle操作(主要采用转置)。今天看到ChannelNet,发现也是解决分组之间信息无法交流的问题(ps:以为和shufflenet一样,只是对分组进行shuffle。结果人家采用的是卷积进行shuffle,并且只是对通道进行卷积)。

进行channel-wise有什么好处呢?我们知道,MobileNet是采用深度可分离卷积和point-wise卷积来实现轻量化模型的设计。但是point-wise存在一个缺点,就是全连接。如图1。而Channel-Net呢,他采用channel-wise卷积(就是在通道上卷积,比如输入:N*C*W*W->N*1*C*W*H,然后利用nn.Conv3d()在通道维度上进行卷积,卷积核设置为(dc*1*1),code中Group Channel-Wise Convolutions之后给出的输出是:N*2*C*W*H),稀疏了全连接,这样就会在很大程度上降低参数量和计算量(论文中有给出的)。

图1:point-wise
图2:channel-shuffle
图3:channel-wise

对于ChannelNet的一点理解的更多相关文章

  1. opencv笔记5:频域和空域的一点理解

    time:2015年10月06日 星期二 12时14分51秒 # opencv笔记5:频域和空域的一点理解 空间域和频率域 傅立叶变换是f(t)乘以正弦项的展开,正弦项的频率由u(其实是miu)的值决 ...

  2. 对socket的一点理解笔记

    需要学web service,但是在视频中讲解到了socket套接字编程.以前貌似课上老师有提过,只是没用到也感觉乏味.现在遇到,自己看了些博客和资料.记录一点理解,不知正确与否. 首先说这个名字,叫 ...

  3. iOS 的一点理解(一) 代理delegate

    做了一年的iOS,想记录自己对知识点的一点理解. 第一篇,想记录一下iOS中delegate(委托,也有人称作代理)的理解吧. 故名思议,delegate就是代理的含义, 一件事情自己不方便做,然后交 ...

  4. 关于web开发的一点理解

    对于web开发上的一点理解 1 宏观上的一点理解 网页从请求第地址 到获得页面的过程:从客户端(浏览器)通过地址 从soket把请求报文封装发往服务端   服务端通过解析报文并处理报文最后把处理的结果 ...

  5. angular.js的一点理解

    对angular.js的一点理解 2015-01-14 13:18 by MrGeorgeZhao, 317 阅读, 4 评论, 收藏, 编辑 最近一直在学习angular.js.不得不说和jquer ...

  6. RxSwift 入坑好多天 - 终于有了一点理解

    一.前言 江湖上都在说现在就要赶紧学 swift 了,即将是 swift 的天下了.在 api 变化不大的情况下,swift 作为一门新的语言,集众家之所长,普通编码确实比 oc 要好用的多了 老早就 ...

  7. rt-thread中动态内存分配之小内存管理模块方法的一点理解

    @2019-01-18 [小记] rt-thread中动态内存分配之小内存管理模块方法的一点理解 > 内存初始化后的布局示意 lfree指向内存空闲区首地址 /** * @ingroup Sys ...

  8. rt-thread中软件定时器组件超时界限的一点理解

    @2019-01-15 [小记] 对 rt-thread 中的软件定时器组件中超时界限的一点理解 rt_thread_timer_entry(void *parameter)函数中if ((next_ ...

  9. mycat的schema.xml的个人的一点理解

    官方文档里讲的详细的部分的我就不再赘述了,我只是谈谈我自己的理解 刚开始接触mycat,最重要的几个配置文件有server.xml,schema.xml,还有个rule.xml配置文件 具体都是干啥用 ...

  10. 对C++多态的一点理解

    作为一个C++新手,我浅谈一下我对多态的一点理解. 首先,引用几句话: 1.继承是一种抽象,它允许程序员在某些时候忽略相似对象的差异,又在其他时候利用这些差异.——<C++沉思录> 2.继 ...

随机推荐

  1. python的Faker使用

    import json from faker import Faker from faker_demo.CustomFaker import CustomProvider myfaker = Fake ...

  2. 助动词&情态动词

    助动词 (auxiliary verbs) 任何整句都分为主语和谓语,而谓语部分的核心是谓语动词, 但是谓语动词本身往往无法独立表达某些语法概念,需要其他词的辅助, 而这类来辅助构成谓语但自己本身不能 ...

  3. Jmeter函数助手39-isPropDefined

    isPropDefined函数用于判断属性是否存在. 变量的名称:填入属性名.如果属性名存在返回true,如果不存在返回false 1.jmeter的属性查看路径:测试计划右键"添加&quo ...

  4. CentOS-7离线安装net-tools

    1.下载相关安装包 CentOS-7 所有rpm包的仓库地址:https://vault.centos.org/7.9.2009/os/x86_64/Packages/ net-tools-2.0-0 ...

  5. 何时使用交叉熵,何时使用KL散度:计算分布差距为啥使用KL散度而不用交叉熵,计算预测差距时为啥使用交叉熵而不用KL散度

    问题: 何时使用交叉熵,何时使用KL散度? 计算分布差距为啥使用KL散度而不用交叉熵,计算预测差距时为啥使用交叉熵而不用KL散度 问题很大,答案却很简单. 答案: 熵是一种量度,是信息不确定性的量度: ...

  6. js 实现俄罗斯方块(三)

    我又来啦!上一篇有点水,本篇我们来干货! 嘿嘿,首先我们先搭建游戏世界------网格 所有的操作包括左移右移下移旋转都是在这个网格中 既然是使用js来写当然跑不了html啦,实现网格最简单的 方法就 ...

  7. SemanticKernel/C#:实现接口,接入本地嵌入模型

    前言 本文通过Codeblaze.SemanticKernel这个项目,学习如何实现ITextEmbeddingGenerationService接口,接入本地嵌入模型. 项目地址:https://g ...

  8. 告别手动调度,海豚调度器 3.1.x 集群部署让你轻松管理多机!

    转载自第一片心意 1 前言 由于海豚调度器官网的集群部署文档写的较乱,安装过程中需要跳转到很多地方进行操作,所以自己总结了一篇可以直接跟着从头到尾进行操作的文档,以方便后续的部署.升级.新增节点.减少 ...

  9. 社区6月月报 | Apache SeaTunnel重要更新与优化记录

    各位热爱Apache SeaTunnel的小伙伴们,社区6月份月报来啦!这里将记录Apache SeaTunnel社区每月的重要更新,欢迎关注. 月度Merge Stars 感谢以下小伙伴上个月为Ap ...

  10. C#窗体自定义快捷操作键的实现 - 开源研究系列文章

    这次想到应用程序的窗体的快捷操作键的使用的问题. 上次发布过一个快捷键的例子(https://www.cnblogs.com/lzhdim/p/18342051),区别在于它是操作系统全局注册的热键, ...