zoukankan      html  css  js  c++  java
  • 理解卷积神经网络中的channel

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

    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中,搞清楚每一层的传递关系,主要就是heightwidth的变化情况,以及 channels 的变化情况

    在看看 tensorflowtf.nn.conv2dinputfilter 这两个参数

    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

  • 相关阅读:
    体温上报APP2.2(第二阶段总结)
    体温上报APP2.1
    体温上报APP2.0
    体温上报APP1.2
    体温上报APP1.1
    个人作业——体温上报APP
    安卓学习14(ViewPager)
    安卓学习13(RecyclerView)
    安卓学习12(ListView)
    javascript获得给定日期的前一天的日期
  • 原文地址:https://www.cnblogs.com/gezhuangzhuang/p/10917249.html
Copyright © 2011-2022 走看看