在一般的深度学习框架的 conv2d 中,如 tensorflow、mxnet,channel 都是必填的一个参数

在 tensorflow 中,对于输入样本中 channels 的含义,一般是RGB图片,channels的数量是3(R、G、B)。而灰度图是的channels是1;

mxnet 中,一般channels的含义是:每个卷积层中卷积核的数量。

为了更好的理解,下面举个例子。图片来自 吴恩达老师的深度学习课程

假设有一个 6x6x3的图片样本,使用 3x3x3的卷积核。此时输入的 channels 为3。而卷积核中的 in_channels 与需要进行卷积操作的数据channels一致

卷积:27个数字分别与样本对应相乘,在进行求和,得到第一个结果。依次进行,最终得到 4x4 的结果

由于只有一个卷积核,最终得到的结果是 4x4x1,out_channels为1

在实际应用中,都会使用多个卷积核。这里如果再加一个卷积核,就会得到 4x4x2 的结果

总结一下,把上面提到的channels分为三种:

  1. 最初图片的输入样本channels,取决于图片类型,比如RGB;

  2. 卷积操作完成后输出的 out_channels,取决于卷积核的数量。此时的 out_channels 也会作为下一次卷积时的 in_channels;

  3. 卷积核中的 in_channels,刚刚2中已经说了,就是上一次卷积的out_channels,如果是第一次做卷积,就是1中样本图片的 channels

其实在CNN中,搞清楚每一层的传递关系,主要就是height、width的变化情况,以及 channels 的变化情况

在看看 tensorflow 中 tf.nn.conv2d 的 input 和 filter 这两个参数

input : [batch,in_height,in_width,in_channels]

filter : [filter_height,filter_width,in_channels,out_channels]

参考地址:

https://blog.csdn.net/sscc_learning/article/details/79814146

理解卷积神经网络中的channel的更多相关文章

  1. 理解卷积神经网络中的输入与输出形状(Keras实现)

    即使我们从理论上理解了卷积神经网络,在实际进行将数据拟合到网络时,很多人仍然对其网络的输入和输出形状(shape)感到困惑.本文章将帮助你理解卷积神经网络的输入和输出形状. 让我们看看一个例子.CNN ...

  2. 卷积神经网络中的channel 和filter

    在深度学习的算法学习中,都会提到 channels 这个概念.在一般的深度学习框架的 conv2d 中,如 tensorflow .mxnet,channels 都是必填的一个参数. channels ...

  3. 卷积神经网络中的通道 channel

    卷积神经网络中 channels 分为三种:    (1):最初输入的图片样本的 channels ,取决于图片类型,比如RGB, channels=3    (2):卷积操作完成后输出的 out_c ...

  4. CNN笔记:通俗理解卷积神经网络【转】

    本文转载自:https://blog.csdn.net/v_july_v/article/details/51812459 通俗理解卷积神经网络(cs231n与5月dl班课程笔记) 1 前言 2012 ...

  5. 卷积神经网络中的Winograd快速卷积算法

    目录 写在前面 问题定义 一个例子 F(2, 3) 1D winograd 1D to 2D,F(2, 3) to F(2x2, 3x3) 卷积神经网络中的Winograd 总结 参考 博客:blog ...

  6. CNN笔记:通俗理解卷积神经网络

    CNN笔记:通俗理解卷积神经网络 2016年07月02日 22:14:50 v_JULY_v 阅读数 250368更多 分类专栏: 30.Machine L & Deep Learning 机 ...

  7. tensorflow CNN 卷积神经网络中的卷积层和池化层的代码和效果图

    tensorflow CNN 卷积神经网络中的卷积层和池化层的代码和效果图 因为很多 demo 都比较复杂,专门抽出这两个函数,写的 demo. 更多教程:http://www.tensorflown ...

  8. 【转载】 【Tensorflow】卷积神经网络中strides的参数

    原文地址: https://blog.csdn.net/TwT520Ly/article/details/79540251 http://blog.csdn.net/TwT520Ly -------- ...

  9. 1.keras实现-->使用预训练的卷积神经网络(VGG16)

    VGG16内置于Keras,可以通过keras.applications模块中导入. --------------------------------------------------------将 ...

随机推荐

  1. (js描述的)数据结构[队列结构,优先级队列](3)

    (js描述的)数据结构[队列结构](3) 一.队列结构的特点: 1.基于数组来实现,的一种受限的线性结构. 2.只允许在表头进行删除操作,在表尾进行插入操作. 3.先进先出(FIFO) 二.队列的一些 ...

  2. Go golang语言特性

    一.垃圾回收 1.内存自动回收. 2.只需要创建,不需要释放 二.天然并发: 1.语言层支持并发,对比python,少了GIL锁. 2.goroute,轻量级线程. 3.基于CSP模型实现 三.cha ...

  3. 写日志 使用nnlog

    import nnlog log=nnlog.Logger(r"/学习/接口自动化/BestTest/10.26/book_server.log",backCount=5,leve ...

  4. 响应式web设计(Responsive web design)

    在全面进入互联网时代后,随着各种移动设备的普及,移动互联网更加受到大众的青睐.由于移动互联网的使用量远远超出了传统互联网的使用量,移动设备也正在逐渐超越桌面设备.因为用户在移动设备上的使用习惯不同,U ...

  5. 33.1 File 获取目录下的所有文件及子目录

    重要获取功能 String[] list() 返回当前路径下所有的文件和文件夹名称 //注意:只有指向文件夹的File对象才可以调用该方法(指向文件的file对象使用list会报错npe) File[ ...

  6. JS 中的自定义事件和模拟事件

    在 JS 中模拟事件指的是模拟 JS 中定义的一些事件,例如点击事件,键盘事件等. 自定义事件指的是创建一个自定义的,JS 中之前没有的事件. 接下来分别说一下创建这两种事件的方法. 创建自定义事件 ...

  7. 2020-MRCTF

    ez_bypass I put something in F12 for you include 'flag.php'; $flag='MRCTF{xxxxxxxxxxxxxxxxxxxxxxxxx} ...

  8. golang依赖管理

    目录 使用GOPATH管理依赖 临时GOPATH 依赖查找路径 使用GOVENDER管理依赖 使用GO111MODULE管理依赖 Usage 常用命令列表 不常用命令 使用示例 开启GO111MODU ...

  9. 大部分人都不知道的8个python神操作

    01 print 打印带有颜色的信息 大家知道 Python 中的信息打印函数 Print,一般我们会使用它打印一些东西,作为一个简单调试. 但是你知道么,这个 Print 打印出来的字体颜色是可以设 ...

  10. scrapy爬虫实例(1)

    爬虫实例 对象 阳光问政平台 目标 : 主题,时间,内容 爬取思路 预先设置好items import scrapy class SuperspiderItem(scrapy.Item): title ...