code: def rayleigh(
      shape, scale=None, dtype=tf.float32, seed=None, name=None
  ):
      """Generates `Tensor` of positive reals drawn from a Rayleigh distributions.
  
      The probability density function of a Rayleigh distribution with `scale`
      parameter is given by:
  
      ```none
      f(x) = x scale**-2 exp(-x**2 0.5 scale**-2)
      ```
  
      For more details, see [Rayleigh distribution](
      https://en.wikipedia.org/wiki/Rayleigh_distribution)
  
      Args:
        shape: Vector-shaped, `int` `Tensor` representing shape of output.
        scale: (Optional) Positive `float` `Tensor` representing `Rayleigh` scale.
          Default value: `None` (i.e., `scale = 1.`).
        dtype: (Optional) TF `dtype` representing `dtype` of output.
          Default value: `tf.float32`.
        seed: PRNG seed; see `tfp.random.sanitize_seed` for details.
          Default value: `None` (i.e., no seed).
        name: Python `str` name prefixed to Ops created by this function.
          Default value: `None` (i.e., 'random_rayleigh').
  
      Returns:
        rayleigh: `Tensor` with specified `shape` and `dtype` consisting of positive
          real values drawn from a Rayleigh distribution with specified `scale`.
      """
      with tf.name_scope(name or "rayleigh"):
          if scale is not None:
              # Its important to expand the shape to match scale's, otherwise we won't
              # have independent draws.
              scale = tf.convert_to_tensor(
                  scale, dtype=dtype, name="scale"
              )
              shape = tf.broadcast_dynamic_shape(shape, tf.shape(scale))
          x = tf.sqrt(
              -2.0
              * tf.math.log(
                  samplers.uniform(
                      shape, minval=0, maxval=1, dtype=dtype, seed=seed
                  )
              )
          )
          if scale is None:
              return x
          return x * scale
  
imports: import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.internal import samplers
label_desc: Use image node_id 2 for calling a global function with example usage: rayleigh(shape, scale, dtype, seed, name) and returns: unknown, x