caffecaffe中网络层含义

Posted 超级无敌陈大佬的跟班

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了caffecaffe中网络层含义相关的知识,希望对你有一定的参考价值。

Reshape层:

(改变blob的形状,N,C,W,H)

Reshape layer只改变输入数据的维度,但内容不变,也没有数据复制的过程,与Flatten layer类似。

输出维度由reshape_param 指定,正整数直接指定维度大小,下面两个特殊的值:

  • 0 => 表示复制输入相应维度的值。
  • -1 => 表示根据其他维度自动推测维度大小。reshape_param中至多只能有一个-1。
    layer {  
        name: "reshape"  
        type: "Reshape"  
        bottom: "input"  
        top: "output"  
        reshape_param {  
          shape {  
            dim: 0  "dim:0  表示维度不变,即输入和输出是相同的维度。 " 
            dim: 2  
            dim: 3  
            dim: -1 "表示由系统自动计算维度"  
          }  
        }  
      }  
      
    有一个可选的参数组shape, 用于指定blob数据的各维的值(blob是一个四维的数据:n*c*w*h)。  
    dim:0  表示维度不变,即输入和输出是相同的维度。  
    dim:2 或 dim:3 将原来的维度变成2或3  
    dim:-1 表示由系统自动计算维度。数据的总量不变,系统会根据blob数据的其它三维来自动计算当前维的维度值 。  
    假设原数据为:32*3*28*28, 表示32张3通道的28*28的彩色图片  
    #   shape {  
    #   dim: 0  32-32  
    #   dim: 0  3-3  
    #   dim: 14 28-14  
    #   dim: -1 #让其推断出此数值  
    #   }  
      
    #输出数据为:32*3*14*56  

Eltwise层:

Eltwise层的操作有三个:数据product(点乘), sum(相加减) 和 max(取大值),其中sum是默认操作。

layer 
{
  name: "eltwise_layer"
  type: "Eltwise"
  bottom: "A"
  bottom: "B"
  top: "diff"
  eltwise_param {
    operation: SUM  #相加
  }
}​
"还可以实现一个相减操作"
layer 
{
  name: "eltwise_layer"
  type: "Eltwise"
  bottom: "A"
  bottom: "B"
  top: "diff"
  eltwise_param {
    operation: SUM
    coeff: 1    #A的系数为1
    coeff: -1   #B的系数为-1.即可实现相减
  }
}​

以上是关于caffecaffe中网络层含义的主要内容,如果未能解决你的问题,请参考以下文章

Caffecaffe可视化训练过程实操

在Tomcat的安装目录下conf目录下的server.xml文件中增加一个xml代码片段,该代码片段中每个属性的含义与用途

CaffeCaffe版MobileNet实操

计算机各层含义解释

深度学习入门-1透彻理解卷积的三层含义:从“卷积”到“图像卷积操作”再到“卷积神经网络”的含义(学习笔记)

六石编程学:代码会说话的两层含义