【caffe】Layer解读之:Slice

  • Layer type: Slice
  • 头文件位置:/include/caffe/layers/slice_layer.hpp
  • CPU 执行源文件位置: ./src/caffe/layers/slice_layer.cpp
  • CUDA GPU 执行源文件位置: ./src/caffe/layers/slice_layer.cu
  • Slice层的功能:根据给定的参数对输入层进行划分(以通道为单位)。
参数解读
layer {
  name: "slicer_label"
  type: "Slice"
  bottom: "label"
  ## Example of label with a shape N x 3 x 1 x 1
  ## Example of label with a shape N x 5 x 1 x 1
  top: "label1"
  top: "label2"
  top: "label3"
  slice_param {
    axis: 1
    slice_point: 1
    slice_point: 2
  }
}
  • 参数axis:表示对输入的layer中的哪个维度的数据进行划分(在例子中就是对label的3那个维度进行划分)

  • 参数slice_point:slice_point个数 = top个数 - 1。如上图就是把label划分为三个维度,每个维度分别1。(shape N x 3 x 1 x 1)

  • 参数slice_point:slice_point个数 = top个数 - 1。如上图就是把label划分为三个维度,每个维度分别1,1,3。(shape N x 5 x 1 x 1)

参数定义
  • 参数(SliceParameter slice_param)
  • 定义位置 ./src/caffe/proto/caffe.proto:
message SliceParameter {
  // The axis along which to slice -- may be negative to index from the end
  // (e.g., -1 for the last axis).
  // By default, SliceLayer concatenates blobs along the "channels" axis (1).
  optional int32 axis = 3 [default = 1];
  repeated uint32 slice_point = 2;

  // DEPRECATED: alias for "axis" -- does not support negative indexing.
  optional uint32 slice_dim = 1 [default = 1];
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yuanCruise

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值