class_docstr: Compute `Y = g(X) = (1 - exp(-rate * X)) * exp(-c * exp(-rate * X))`.
  
  This bijector maps inputs from `[-inf, inf]` to `[0, inf]`. The inverse of the
  bijector applied to a uniform random variable `X ~ U(0, 1)` gives back a
  random variable with the
  [Shifted Gompertz distribution](
    https://en.wikipedia.org/wiki/Shifted_Gompertz_distribution):
  
  ```none
  Y ~ ShiftedGompertzCDF(concentration, rate)
  pdf(y; c, r) = r * exp(-r * y - exp(-r * y) / c) * (1 + (1 - exp(-r * y)) / c)
  ```
  
  Note: Even though this is called `ShiftedGompertzCDF`, when applied to the
  `Uniform` distribution, this is not the same as applying a `GompertzCDF` with
  a `Shift` bijector (i.e. the Shifted Gompertz distribution is not the same as
  a Gompertz distribution with a location parameter).
  
  Note: Because the Shifted Gompertz distribution concentrates its mass close
  to zero, for larger rates or larger concentrations, `bijector.forward` will
  quickly saturate to 1.
class_docstr_tok: ["Compute","`","Y","=","g","(","X",")","=","(","1","-","exp","(","-rate","*","X",")",")","*","exp","(","-c","*","exp","(","-rate","*","X",")",")","`",".","This","bijector","maps","inputs","from","`","[","-inf",",","inf","]","`","to","`","[","0",",","inf","]","`",".","The","inverse","of","the","bijector","applied","to","a","uniform","random","variable","`","X","~","U","(","0",",","1",")","`","gives","back","a","random","variable","with","the","[","Shifted","Gompertz","distribution","]","(","https",":","\/\/en.wikipedia.org\/wiki\/Shifted_Gompertz_distribution",")",":","``","`","none","Y","~","ShiftedGompertzCDF","(","concentration",",","rate",")","pdf","(","y",";","c",",","r",")","=","r","*","exp","(","-r","*","y","-","exp","(","-r","*","y",")","\/","c",")","*","(","1","+","(","1","-","exp","(","-r","*","y",")",")","\/","c",")","``","`","Note",":","Even","though","this","is","called","`","ShiftedGompertzCDF","`",",","when","applied","to","the","`","Uniform","`","distribution",",","this","is","not","the","same","as","applying","a","`","GompertzCDF","`","with","a","`","Shift","`","bijector","(","i.e",".","the","Shifted","Gompertz","distribution","is","not","the","same","as","a","Gompertz","distribution","with","a","location","parameter",")",".","Note",":","Because","the","Shifted","Gompertz","distribution","concentrates","its","mass","close","to","zero",",","for","larger","rates","or","larger","concentrations",",","`","bijector.forward","`","will","quickly","saturate","to","1","."]
docstr: Instantiates the `ShiftedGompertzCDF` bijector.
  
  Args:
    concentration: Positive Float-like `Tensor` that is the same dtype and is
      broadcastable with `concentration`.
      This is `c` in
      `Y = g(X) = (1 - exp(-rate * X)) * exp(-exp(-rate * X) / c)`.
    rate: Positive Float-like `Tensor` that is the same dtype and is
      broadcastable with `concentration`.
      This is `rate` in
      `Y = g(X) = (1 - exp(-rate * X)) * exp(-exp(-rate * X) / c)`.
    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","`","ShiftedGompertzCDF","`","bijector",".","Args",":","concentration",":","Positive","Float-like","`","Tensor","`","that","is","the","same","dtype","and","is","broadcastable","with","`","concentration","`",".","This","is","`","c","`","in","`","Y","=","g","(","X",")","=","(","1","-","exp","(","-rate","*","X",")",")","*","exp","(","-exp","(","-rate","*","X",")","\/","c",")","`",".","rate",":","Positive","Float-like","`","Tensor","`","that","is","the","same","dtype","and","is","broadcastable","with","`","concentration","`",".","This","is","`","rate","`","in","`","Y","=","g","(","X",")","=","(","1","-","exp","(","-rate","*","X",")",")","*","exp","(","-exp","(","-rate","*","X",")","\/","c",")","`",".","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,
      concentration,
      rate,
      validate_args=False,
      name="shifted_gompertz_cdf",
  ):
      """Instantiates the `ShiftedGompertzCDF` bijector.
  
      Args:
        concentration: Positive Float-like `Tensor` that is the same dtype and is
          broadcastable with `concentration`.
          This is `c` in
          `Y = g(X) = (1 - exp(-rate * X)) * exp(-exp(-rate * X) / c)`.
        rate: Positive Float-like `Tensor` that is the same dtype and is
          broadcastable with `concentration`.
          This is `rate` in
          `Y = g(X) = (1 - exp(-rate * X)) * exp(-exp(-rate * X) / c)`.
        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:
          dtype = dtype_util.common_dtype(
              [concentration, rate], dtype_hint=tf.float32
          )
          self._concentration = tensor_util.convert_nonref_to_tensor(
              concentration, dtype=dtype, name="concentration"
          )
          self._rate = tensor_util.convert_nonref_to_tensor(
              rate, dtype=dtype, name="rate"
          )
          super(ShiftedGompertzCDF, self).__init__(
              validate_args=validate_args,
              forward_min_event_ndims=0,
              parameters=parameters,
              name=name,
          )
  
imports: import numpy
  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 special
label_desc: Use image node_id 1 to create a new ShiftedGompertzCDF object from inherited base classes: bijector, bijector with example: obj = ShiftedGompertzCDF(concentration, rate, validate_args, name)