Class: Chainer::Functions::Activation::SigmoidGrad

Inherits:
Chainer::FunctionNode show all
Defined in:
lib/chainer/functions/activation/sigmoid_grad.rb

Overview

Logistic sigmoid gradient function.

Instance Attribute Summary

Attributes inherited from Chainer::FunctionNode

#inputs, #outputs, #rank

Instance Method Summary collapse

Methods inherited from Chainer::FunctionNode

#apply, #backward_accumulate, #forward_cpu, #get_retained_inputs, #get_retained_outputs, #label, #output_data, #retain_inputs, #retain_outputs, #unchain

Constructor Details

#initialize(inputs) ⇒ SigmoidGrad

Returns a new instance of SigmoidGrad.



6
7
8
# File 'lib/chainer/functions/activation/sigmoid_grad.rb', line 6

def initialize(inputs)
  @x, = inputs
end

Instance Method Details

#backward(indexes, grad_outputs) ⇒ Object



17
18
19
20
21
# File 'lib/chainer/functions/activation/sigmoid_grad.rb', line 17

def backward(indexes, grad_outputs)
  y, gy = get_retained_inputs
  g, = grad_outputs
  [g * gy * ( 1 -2 * y), g * y * (1 - y)]
end

#forward(inputs) ⇒ Object



10
11
12
13
14
15
# File 'lib/chainer/functions/activation/sigmoid_grad.rb', line 10

def forward(inputs)
  retain_inputs([0, 1])
  y, gy = inputs
  one = 1
  [Utils::Array.force_array(gy * y * (one - y))]
end