Caffe源码精读 - 6 - Caffe Layers之sigmoid_layer(sigmoid激活层)

Class_6 Caffe Layerssigmoid_layer(sigmoid激活层)

1. 简述

sigmoid_layer是激活层,一般地说,卷积之后一定带一个激活层。caffe中sigmoid激活层相对还是简单的。继承了一个neuron_layer,然后实现了前向和后向的计算。

2. neuron_layer

neuron_layer实际上不是CNN或RNN中的层,而只是一个辅助层。neuron_layer的作用也很简单,就是给那些只有一个输入一个输出,且输入和输出是相同shape的层做一个统一的工具。

(1)Reshape

Reshape比较简单,就是设置输出shape等同于输入shape。

(2)ExactNumBottomBlobs和ExactNumTopBlobs

这两个接口,只是告诉调用者,能够处理的blob数。

3. SigmoidLayer

SigmoidLayer是具体的激活层。主要也就是实现了Forward_xxx和Backward_xxx.

(1)sigmoid

sigmoid主要就是对输入的一个数据,做一个激活操作。就是实现了一个公式的带入参数,计算输出。

公式是

(2)Forward_cpu

前向计算,获得输入数据bottom_data,输出数据top_data, 以及输入数据的大小count。

一个for循环依次对每一个输入数据执行激活。

(3)Backward_cpu

Backward_cpu是sigmoid的反向传播,具体也是实现了一个公式,如下:

就到这了,激活层本来就没有什么东西。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值