View source on GitHub |
Computes log sigmoid of x
element-wise.
tf.math.log_sigmoid( x, name=None )
Specifically, y = log(1 / (1 + exp(-x)))
. For numerical stability, we use y = -tf.nn.softplus(-x)
.
Args | |
---|---|
x | A Tensor with type float32 or float64 . |
name | A name for the operation (optional). |
Returns | |
---|---|
A Tensor with the same type as x . |
If a positive number is large, then its log_sigmoid will approach to 0 since the formula will be y = log( <large_num> / (1 + <large_num>) )
which approximates to log (1)
which is 0.
x = tf.constant([0.0, 1.0, 50.0, 100.0]) tf.math.log_sigmoid(x) <tf.Tensor: shape=(4,), dtype=float32, numpy= array([-6.9314718e-01, -3.1326169e-01, -1.9287499e-22, -0.0000000e+00], dtype=float32)>
If a negative number is large, its log_sigmoid will approach to the number itself since the formula will be y = log( 1 / (1 + <large_num>) )
which is log (1) - log ( (1 + <large_num>) )
which approximates to - <large_num>
that is the number itself.
x = tf.constant([-100.0, -50.0, -1.0, 0.0]) tf.math.log_sigmoid(x) <tf.Tensor: shape=(4,), dtype=float32, numpy= array([-100. , -50. , -1.3132616, -0.6931472], dtype=float32)>
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/math/log_sigmoid