【caffe】Layer解读之:SoftmaxWithLoss

  • Layer type: SoftmaxWithLoss
  • 头文件位置: ./include/caffe/layers/softmax_loss_layer.hpp
  • CPU 执行源文件位置: ./src/caffe/layers/softmax_loss_layer.cpp
  • CUDA GPU 执行源文件位置: ./src/caffe/layers/softmax_loss_layer.cu
  • SoftmaxWithLoss层的功能:计算其输入的softmax的多项逻辑损失,概念上这个层就是SoftmaxLayer加上了多项式逻辑损失,但提供了更加数值稳定的梯度。
参数解释
layer{
    name: "loss"
    type: "SoftmaxWithLoss"
    bottom: "fc"
    top: "loss"
    softmax_param{
        axis = 1
    }
}
参数定义

Parameters (SoftmaxParameter softmax_param)
From ./src/caffe/proto/caffe.proto:

// 存储SoftmaxLayer,SoftmaxWithLossLayer使用的参数的消息
message SoftmaxParameter {
  enum Engine {
    DEFAULT = 0;
    CAFFE = 1;
    CUDNN = 2;
  }
  optional Engine engine = 1 [default = DEFAULT];

  // The axis along which to perform the softmax -- may be negative to index
  // from the end (e.g., -1 for the last axis).
  // Any other axes will be evaluated as independent softmaxes.
  optional int32 axis = 2 [default = 1];
}

Parameters (LossParameter loss_param)
From ./src/caffe/proto/caffe.proto:


  // 所有loss层共享的参数
message LossParameter {
  //这个给定的标签在反向传播的时候不计算对应标签的loss和梯度
  optional int32 ignore_label = 1;
  //如何归一化
  //目前仅在SoftmaxWithLoss和SigmoidCrossEntropyLoss层中实现。
  enum NormalizationMode {
    FULL = 0;      //除以(当前batch大小*空间维度数),在计算归一化的时候是不会忽略之前设置的那个忽略的标签的样本
    VALID = 1;     //除以不带ignore_label的输出位置总数。 如果未设置ignore_label,则其行为类似于FULL。
    BATCH_SIZE = 2;//只除以batch size
    NONE = 3;      //不对loss进行归一化
  }
  // 由于历史原因,SigmoidCrossEntropyLoss默认为BATCH_SIZE and *not* VALID.
  optional NormalizationMode normalization = 3 [default = VALID];
  //这个参数只是为了向下兼容而已,用了normalization,这个参数就没用了,
  //当然若没有normalization那么这个参数也是可以用的,其效果和normalization一样
  optional bool normalize = 2;
}
番外篇

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

yuanCruise

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

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

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

打赏作者

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

抵扣说明:

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

余额充值