class_docstr: `Y = g(X) = Sinh( (Arcsinh(X) + skewness) * tailweight ) * multiplier`.
  
  For `skewness in (-inf, inf)` and `tailweight in (0, inf)`, this
  transformation is a
  diffeomorphism of the real line `(-inf, inf)`.  The inverse transform is
  `X = g^{-1}(Y) = Sinh( ArcSinh(Y) / tailweight - skewness )`.
  
  The `SinhArcsinh` transformation of the Normal is described in
  [Sinh-arcsinh distributions](https://www.jstor.org/stable/27798865)
  This Bijector allows a similar transformation of any distribution supported on
  `(-inf, inf)`.
  
  #### Meaning of the parameters
  
  * If `skewness = 0` and `tailweight = 1`, this transform is the identity.
  * Positive (negative) `skewness` leads to positive (negative) skew.
    * positive skew means, for unimodal `X` centered at zero, the mode of `Y` is
      "tilted" to the right.
    * positive skew means positive values of `Y` become more likely, and
      negative values become less likely.
  * Larger (smaller) `tailweight` leads to fatter (thinner) tails.
    * Fatter tails mean larger values of `|Y|` become more likely.
    * If `X` is a unit Normal, `tailweight < 1` leads to a distribution that is
      "flat" around `Y = 0`, and a very steep drop-off in the tails.
    * If `X` is a unit Normal, `tailweight > 1` leads to a distribution more
      peaked at the mode with heavier tails.
  * The `multiplier` term is equal to 2 / F_0(2) where F_0 is
    the bijector with `skewness = 0`. This is important
    for CDF values of distributions.SinhArcsinh.
  
  To see the argument about the tails, note that for `|X| >> 1` and
  `|X| >> (|skewness| * tailweight)**tailweight`, we have
  `Y approx 0.5 X**tailweight e**(sign(X) skewness * tailweight)`.
docstr: Instantiates the `SinhArcsinh` bijector.
  
  Args:
    skewness:  Skewness parameter.  Float-type `Tensor`.  Default is `0`
      of type `float32`.
    tailweight:  Tailweight parameter.  Positive `Tensor` of same `dtype` as
      `skewness` and broadcastable `shape`.  Default is `1` of type `float32`.
    validate_args: Python `bool` indicating whether arguments should be
      checked for correctness.
    name: Python `str` name given to ops managed by this object.
docstr_tok: ["Instantiates","the","`","SinhArcsinh","`","bijector",".","Args",":","skewness",":","Skewness","parameter",".","Float-type","`","Tensor","`",".","Default","is","`","0","`","of","type","`","float32","`",".","tailweight",":","Tailweight","parameter",".","Positive","`","Tensor","`","of","same","`","dtype","`","as","`","skewness","`","and","broadcastable","`","shape","`",".","Default","is","`","1","`","of","type","`","float32","`",".","validate_args",":","Python","`","bool","`","indicating","whether","arguments","should","be","checked","for","correctness",".","name",":","Python","`","str","`","name","given","to","ops","managed","by","this","object","."]
code: def __init__(
      self,
      skewness=None,
      tailweight=None,
      validate_args=False,
      name="sinh_arcsinh",
  ):
      """Instantiates the `SinhArcsinh` bijector.
  
      Args:
        skewness:  Skewness parameter.  Float-type `Tensor`.  Default is `0`
          of type `float32`.
        tailweight:  Tailweight parameter.  Positive `Tensor` of same `dtype` as
          `skewness` and broadcastable `shape`.  Default is `1` of type `float32`.
        validate_args: Python `bool` indicating whether arguments should be
          checked for correctness.
        name: Python `str` name given to ops managed by this object.
      """
      parameters = dict(locals())
      with tf.name_scope(name) as name:
          tailweight = 1.0 if tailweight is None else tailweight
          skewness = 0.0 if skewness is None else skewness
          dtype = dtype_util.common_dtype(
              [tailweight, skewness], dtype_hint=tf.float32
          )
          self._skewness = tensor_util.convert_nonref_to_tensor(
              skewness, dtype=dtype, name="skewness"
          )
          self._tailweight = tensor_util.convert_nonref_to_tensor(
              tailweight, dtype=dtype, name="tailweight"
          )
          self._scale_number = tf.convert_to_tensor(2.0, dtype=dtype)
          super(SinhArcsinh, self).__init__(
              forward_min_event_ndims=0,
              validate_args=validate_args,
              parameters=parameters,
              name=name,
          )
  
imports: import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import bijector
  from tensorflow_probability.python.bijectors import softplus
  from tensorflow_probability.python.internal import assert_util
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import parameter_properties
  from tensorflow_probability.python.internal import tensor_util
  from tensorflow_probability.python.math import generic
  from tensorflow_probability.python.math import numeric
label_desc: Use image node_id 1 to create a new SinhArcsinh object from inherited base classes: bijector, bijector with example: obj = SinhArcsinh(skewness, tailweight, validate_args, name)