function logSigmoid_(x) {
    const $x = (0, _tensorUtilEnv.convertToTensor)(x, "x", "logSigmoid");
    // Use a custom gradient to maintain previous implementation.
    // There is no LogSigmoid kernel in TF so we can't use engine.runKernel
    // directly
    const customOp = (0, _gradients.customGrad)((x)=>{
        // TODO(yassogba) we can remove the chained softplus call here only
        // after backends have modualrized softplus at which point we can call
        // engine runKernel(..., Sotfplus, ...) directly.
        const value = (0, _neg.neg)((0, _softplus.softplus)((0, _neg.neg)(x)));
        const gradFunc = (dy)=>{
            const derX = (0, _mul.mul)(dy, (0, _sigmoid.sigmoid)((0, _neg.neg)(x)));
            return derX;
        };
        return {
            value,
            gradFunc
        };
    });
    return customOp($x);
}
Computes log sigmoid of the input `tf.Tensor` element-wise:
`logSigmoid(x)`. For numerical stability, we use `-tf.softplus(-x)`.

```js
const x = tf.tensor1d([0, 1, -1, .7]);

x.logSigmoid().print();  // or tf.logSigmoid(x)
```
@param x The input tensor.

@doc {heading: 'Operations', subheading: 'Basic math'}