class_docstr: Exponential distribution.
  
  The Exponential distribution is parameterized by an event `rate` parameter.
  
  #### Mathematical Details
  
  The probability density function (pdf) is,
  
  ```none
  pdf(x; lambda, x > 0) = exp(-lambda x) / Z
  Z = 1 / lambda
  ```
  
  where `rate = lambda` and `Z` is the normalizaing constant.
  
  The Exponential distribution is a special case of the Gamma distribution,
  i.e.,
  
  ```python
  Exponential(rate) = Gamma(concentration=1., rate)
  ```
  
  The Exponential distribution uses a `rate` parameter, or "inverse scale",
  which can be intuited as,
  
  ```none
  X ~ Exponential(rate=1)
  Y = X / rate
  ```
class_docstr_tok: ["Exponential","distribution",".","The","Exponential","distribution","is","parameterized","by","an","event","`","rate","`","parameter",".","#","#","#","#","Mathematical","Details","The","probability","density","function","(","pdf",")","is",",","``","`","none","pdf","(","x",";","lambda",",","x",">","0",")","=","exp","(","-lambda","x",")","\/","Z","Z","=","1","\/","lambda","``","`","where","`","rate","=","lambda","`","and","`","Z","`","is","the","normalizaing","constant",".","The","Exponential","distribution","is","a","special","case","of","the","Gamma","distribution",",","i.e.",",","``","`","python","Exponential","(","rate",")","=","Gamma","(","concentration=1.",",","rate",")","``","`","The","Exponential","distribution","uses","a","`","rate","`","parameter",",","or","``","inverse","scale","''",",","which","can","be","intuited","as",",","``","`","none","X","~","Exponential","(","rate=1",")","Y","=","X","\/","rate","``","`"]
docstr: Construct Exponential distribution with parameter `rate`.
  
  Args:
    rate: Floating point tensor, equivalent to `1 / mean`. Must contain only
      positive values.
    validate_args: Python `bool`, default `False`. When `True` distribution
      parameters are checked for validity despite possibly degrading runtime
      performance. When `False` invalid inputs may silently render incorrect
      outputs.
    allow_nan_stats: Python `bool`, default `True`. When `True`, statistics
      (e.g., mean, mode, variance) use the value "`NaN`" to indicate the
      result is undefined. When `False`, an exception is raised if one or
      more of the statistic's batch members are undefined.
    name: Python `str` name prefixed to Ops created by this class.
docstr_tok: ["Construct","Exponential","distribution","with","parameter","`","rate","`",".","Args",":","rate",":","Floating","point","tensor",",","equivalent","to","`","1","\/","mean","`",".","Must","contain","only","positive","values",".","validate_args",":","Python","`","bool","`",",","default","`","False","`",".","When","`","True","`","distribution","parameters","are","checked","for","validity","despite","possibly","degrading","runtime","performance",".","When","`","False","`","invalid","inputs","may","silently","render","incorrect","outputs",".","allow_nan_stats",":","Python","`","bool","`",",","default","`","True","`",".","When","`","True","`",",","statistics","(","e.g.",",","mean",",","mode",",","variance",")","use","the","value","``","`","NaN","`","``","to","indicate","the","result","is","undefined",".","When","`","False","`",",","an","exception","is","raised","if","one","or","more","of","the","statistic","'s","batch","members","are","undefined",".","name",":","Python","`","str","`","name","prefixed","to","Ops","created","by","this","class","."]
code: def __init__(
      self,
      rate,
      validate_args=False,
      allow_nan_stats=True,
      name="Exponential",
  ):
      """Construct Exponential distribution with parameter `rate`.
  
      Args:
        rate: Floating point tensor, equivalent to `1 / mean`. Must contain only
          positive values.
        validate_args: Python `bool`, default `False`. When `True` distribution
          parameters are checked for validity despite possibly degrading runtime
          performance. When `False` invalid inputs may silently render incorrect
          outputs.
        allow_nan_stats: Python `bool`, default `True`. When `True`, statistics
          (e.g., mean, mode, variance) use the value "`NaN`" to indicate the
          result is undefined. When `False`, an exception is raised if one or
          more of the statistic's batch members are undefined.
        name: Python `str` name prefixed to Ops created by this class.
      """
      parameters = dict(locals())
      # Even though all statistics of are defined for valid inputs, this is not
      # true in the parent class "Gamma."  Therefore, passing
      # allow_nan_stats=True
      # through to the parent class results in unnecessary asserts.
      with ops.name_scope(name, values=[rate]) as name:
          self._rate = ops.convert_to_tensor(rate, name="rate")
      super(Exponential, self).__init__(
          concentration=array_ops.ones([], dtype=self._rate.dtype),
          rate=self._rate,
          allow_nan_stats=allow_nan_stats,
          validate_args=validate_args,
          name=name,
      )
      self._parameters = parameters
      self._graph_parents += [self._rate]
  
file_path: tensorflow-upstream/tensorflow/python/ops/distributions/exponential.py
imports: import numpy
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import ops
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import nn
  from tensorflow.python.ops import random_ops
  from tensorflow.python.ops.distributions import gamma
  from tensorflow.python.util import deprecation
  from tensorflow.python.util.tf_export import tf_export
label_desc: Use image node_id 1 to create a new Exponential object from inherited base classes: gamma with example: obj = Exponential(rate, validate_args, allow_nan_stats, name)