class_docstr: Bijector which computes `Y = g(X) = X / (1 + |X|)`.
  
  The softsign `Bijector` has the following two useful properties:
  
  * The domain is all real numbers
  * `softsign(x) approx sgn(x)`, for large `|x|`.
  
  #### Examples
  
  ```python
  # Create the Y = softsign(X) transform.
  softsign = Softsign()
  x = [[[1., 2],
        [3, 4]],
       [[5, 6],
        [7, 8]]]
  x / (1 + abs(x)) == softsign.forward(x)
  x / (1 - abs(x)) == softsign.inverse(x)
  ```
class_docstr_tok: ["Bijector","which","computes","`","Y","=","g","(","X",")","=","X","\/","(","1","+","|X|",")","`",".","The","softsign","`","Bijector","`","has","the","following","two","useful","properties",":","*","The","domain","is","all","real","numbers","*","`","softsign","(","x",")","approx","sgn","(","x",")","`",",","for","large","`","|x|","`",".","#","#","#","#","Examples","``","`","python","#","Create","the","Y","=","softsign","(","X",")","transform",".","softsign","=","Softsign","(",")","x","=","[","[","[","1.",",","2","]",",","[","3",",","4","]","]",",","[","[","5",",","6","]",",","[","7",",","8","]","]","]","x","\/","(","1","+","abs","(","x",")",")","==","softsign.forward","(","x",")","x","\/","(","1","-","abs","(","x",")",")","==","softsign.inverse","(","x",")","``","`"]
code: def _forward_log_det_jacobian(self, x):
      return -2.0 * tf.math.log1p(tf.math.abs(x))
  
file_path: probability/tensorflow_probability/python/bijectors/softsign.py
imports: import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import bijector
  from tensorflow_probability.python.internal import assert_util
  from tensorflow_probability.python.internal import dtype_util
label_desc: Use image node_id 6 for calling the Softsign obj's underlying member method code with example usage: obj._forward_log_det_jacobian(x) and returns: unknown