当前位置:网站首页>分组卷积(Group Converlution)
分组卷积(Group Converlution)
2022-07-26 19:44:00 【我是一个对称矩阵】
0、前言
首先看普通卷积,用pytorch定义为:
nn.Conv2d(in_channels=3,
out_channels=4,
kernel_size=3)

它可以抽象表示为,堆叠体就是一个卷积核,和上图是对应的:
1、组卷积
分组卷积鼎鼎大名,不多介绍了,首先从下图来看下普通卷积和分组卷积的区别(左图是普通卷积,右图是分组卷积)
无论哪一种卷积,输入特征图都是12通道,输入通道图都是6通道,只不过中间运算过程不一样。
图中画的小堆叠块每一个就是一个卷积核,比如普通卷积,输入是12通道,那么一个卷积核的尺寸就是(12,k_size,k_size),这样一个卷积核和输入做运算得到一个特征图。我们要的是6输出通道,所以总共有6个这样的卷积核,总尺寸就是(6,12,k_size,k_size)。

实际上无论普通卷积还是分组卷积,卷积核的数量是没有变的,只不过分组卷积的卷积核的尺寸变小了。
可以认为分组卷积就是把普通卷积的每个卷积核砍掉了,砍成小卷积核了。
比如深度可分离卷积中的depthwise卷积,就是组数=输入通道=输出通道的分组卷积,把本来(3,3,3)的卷积核砍成(1,3,3),也即是把每个3通道的卷积核砍成1通道的卷积核,但是卷积核的数量还是3个。
2、Pytorch的实现
pytorch中conv2的提供了group参数,需要注意的是,从上上图可以看出,分组卷积是将输入特征图和输出特征图都分成了n组,也就是输出通道数和输入通道数都要能被分为n组,否则就要报错。
对于上上图的分组我们使用pytorch实现:
nn.Conv2d(in_channels=12,
out_channels=6,
kernel_size=3,
groups=3)
对于上图(depthwise卷积),我们使用pytorch实现:
nn.Conv2d(in_channels=3,
out_channels=3,
kernel_size=3,
groups=3)
实际上depthwise卷积就是分组数=输入通道数=输出通道数的特殊分组卷积
参考
边栏推荐
- ES6新特性
- 软件测试-开发提测内容规范(项目提测模板)
- Kotlin - 协程构建器 CoroutineBuilder
- tf.GraphKeys
- Principle and application of one click login of local number (glory Collection Edition)
- The Sandbox 和艺术家 Alec Monopoly 达成合作
- The typing competition is over!
- [cache series] advantages, disadvantages and choices of several cache read-write schemes
- Game partner topic: breederdao and ultiverse have established a new metauniverse
- 数字化工厂有哪些关键技术
猜你喜欢

第二章:遇到阻难!绕过WAF过滤!【SQL注入攻击】

BUU刷题记2

Intranet penetration learning (II) information collection

YGG 与 AMGI 的旗舰 NFT 项目 My Pet Hooligan 合作进入 The Rabbit Hole

打字比赛圆满结束!

Record an analysis of a.Net property management background service stuck

贴合课标新方向 猿辅导打造特色新概念内容体系

Where are the single dogs in the evening of 5.20?

UE5编辑器Slate快速入门【开篇】

Silent desktop fan chip dltap703sd Jericho
随机推荐
Task 2 kaggle diabetes detection
Is flush reliable? I just started to learn financial management. Is it safe to open a securities account?
小场景带来大提升!百度飞桨EasyDL助力制造业流水线AI升级
How to implement an asynchronous task queue system that can handle massive data (supreme Collection Edition)
What functions does the medical live broadcast platform need
MySQL之InnoDB引擎(五)
Pandonia spirit voxedit creation competition
regular expression
Student's t distribution
YGG 与 AMGI 的旗舰 NFT 项目 My Pet Hooligan 合作进入 The Rabbit Hole
Solve attributeerror: module 'win32com.gen_ py. 00020813-0000-0000-C000-000000000046x0x1x9‘ has no attribu
Leetcode刷题之——链表总结
Impersonate authentication
Where are the single dogs in the evening of 5.20?
Using questpdf operation to generate PDF is faster and more efficient!
如何实现一个能处理海量数据的异步任务队列系统(至尊典藏版)
How can small companies break through with small and beautiful products?
「企业管理」精诚CRM+——一体化管理企业业务流程
被罚「带薪休假」一个月后,谷歌解雇了「爱」上 AI 的他
STM32F103 active buzzer driver