sigmoidScalar function

Tensor<Scalar> sigmoidScalar(
  1. Tensor<Scalar> s
)

Implementation

Tensor<Scalar> sigmoidScalar(Tensor<Scalar> s) {
  double val = 1.0 / (1.0 + exp(-s.data[0]));
  Tensor<Scalar> out = Tensor<Scalar>(val);

  out.creator = Node(
    [s],
        () {
      s.grad[0] = s.grad[0] + out.grad[0] * (val * (1.0 - val));
    },
    opName: 'sigmoidScalar',
    cost: 1,
  );
  return out;
}