caffe中的一些特殊层

Reshape layer

layer {  
    name: "reshape"         //名称:reshape
    type: "Reshape"         //类型:Reshape
    bottom: "data"          //输入层名称:data
    top: "datax"            //输出层名称:datax
    reshape_param {  
        shape {  
            dim: -1  
            dim: 1  
            dim: 1  
            dim: 1  
        }  
    }  
}  

其中,dim依次表示num、channels、height、width的变化,0表示保持不变,-1表示根据其他维度自动推测出该维度的大小


Crop layer

layer {
  name: "crop_layer"
  type: "Crop"
  bottom: "A"
  bottom: "B"
  top: "C"
  crop_param {
    axis: 1
    offset: 25
    offset: 128
    offset: 128
  }
}
该层有两个输入A、B,A是要裁剪的数据,B是裁剪的参考输入,C是由A裁剪而来的,axis表示从第几个维度开始裁剪,offset决定偏移量,从偏移位置开始裁剪,裁剪的长度为B中对应维度的长度。举例如下:
对于axis = 1, offset =(25,128,128),有crop_operation: C=A[:,25:25+B.shape[1],128:128+B.shape[2],128:128+B.shape[3]]

Eltwise layer

layer {
  name: "fuse"
  type: "Eltwise"
  bottom: "A"
  bottom: "B"
  top: "C"
  eltwise_param {
    operation: SUM
  }
}
Eltwise层的操作有三个:product(点乘)、sum(相加减)、max(取最大值),其中,sum是默认操作。PROD表示将A、B按元素相乘,SUM表示将A、B按元素求和,MAX表示将A、B按元素求最大值。


更多层的讲解可以参考 博客




你可能感兴趣的:(机器学习与深度学习)