一些功能的layer:
splitting(把一个输入分成多个输出),类型:splitting
在caffe.proto里为什么没有找到呢.它的作用就是把一个输入复制为多个输入哦;
Flattening:类型为:Flatten
偏平的意思,如 flattens an input of shape
n * c * h * w
to a simple vector output of shapen * (c*h*w))。
Reshape:(重新调整维度),类型为:Reshape
Cocatenation(把多个输入可以串联起来):类型为:Concat
Slicing(可以对输入进行切片)
类型为:Slice: 它的作用是把输入按维度进行切片。具体看一个例子哈:
layer { name: "slicer_label" type: "Slice" bottom: "label" ## 假设label的维度是:N x 5 x 1 x 1 top: "label1" top: "label2" top: "label3" top: "label4" slice_param { axis: 1 # 指定维度,维度应该是从0开始的; slice_point: 1 # 将label[~][:1][~][~]赋给label1 slice_point: 2 # 将label[~][1:3][~][~]赋给label2 slice_point: 3 # 将label[~][3:4][~][~]赋给label3 slice_point: 4 # 将label[~][4:][~][~]赋给label3 } }
还有,切片的位置数,肯定比最后切出来的片数少一个哈。不用解释的啦。
另外还有:Elementwise Operations(类型为Eltwise), Argmax(类型为ArgMax), Softmax(类型为Softmax),
Mean-Variance Normalization(类型为MVN)