Class: Chainer::Functions::Activation::Sigmoid

Inherits:
Chainer::Function show all
Defined in:
lib/chainer/functions/activation/sigmoid.rb

Overview

Logistic sigmoid function.

Instance Attribute Summary

Attributes inherited from Chainer::Function

#inputs, #output_data, #outputs, #rank, #retain_after_backward

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Chainer::Function

#backward, #call, #forward, #initialize, #retain_inputs, #retain_outputs

Constructor Details

This class inherits a constructor from Chainer::Function

Class Method Details

.sigmoid(x) ⇒ Chainer::Variable

Element-wise sigmoid logistic function.

$$ f(x)=(1 + \exp(-x))^ { -1 }. $$

Examples:

It maps the input values into the range of $‘[0, 1]`$.

> x = Numo::SFloat.new(3).seq(-2, 2)
=> Numo::SFloat#shape=[3]
[-2, 0, 2]
> F = Chainer::Functions::Activation::Sigmoid
> F.sigmoid(x).data
=> Numo::SFloat#shape=[3]
[0.119203, 0.5, 0.880797]

Parameters:

  • x (Chainer::Variable or Numo::NArray)

    Input variable. A $(s_1, s_2, …, s_N)$-shaped float array.

Returns:

  • (Chainer::Variable)

    Output variable. A $(s_1, s_2, …, s_N)$-shaped float array.



23
24
25
# File 'lib/chainer/functions/activation/sigmoid.rb', line 23

def self.sigmoid(x)
  self.new.(x)
end

Instance Method Details

#backward_cpu(x, gy) ⇒ Object



35
36
37
38
39
# File 'lib/chainer/functions/activation/sigmoid.rb', line 35

def backward_cpu(x, gy)
  one = 1
  y = @output_data[0]
  [Utils::Array.force_array((gy[0] * y) * (one - y))]
end

#forward_cpu(x) ⇒ Object



27
28
29
30
31
32
33
# File 'lib/chainer/functions/activation/sigmoid.rb', line 27

def forward_cpu(x)
  half = 0.5
  y = Utils::Array.force_array((Numo::NMath.tanh(x[0] * half) * half)+ half)
  retain_inputs([])
  retain_outputs([0])
  return [y]
end