class_docstr: Uniform distribution on the unit hypersphere.
docstr: Initializer.
  
  Arguments:
    order: Integer >= 1. The dimensionality of the sphere.
    width: Float in [0,1]. Allows for realizations to be approximately
      uniformly distributed in a band between radius `1 - width` and
      `1 + width` (for `width` << 1).
    dtype: Data type of the returned realization. Defaults to `tf.float32`.
    validate_args: required by `Distribution` class but unused.
    allow_nan_stats: required by `Distribution` class but unused.
    name: String. Name of the created object.
code: def __init__(
      self,
      order=2,
      width=0.0,
      dtype=tf.float32,
      validate_args=False,
      allow_nan_stats=True,
      name="sphere",
  ):
      """Initializer.
  
      Arguments:
        order: Integer >= 1. The dimensionality of the sphere.
        width: Float in [0,1]. Allows for realizations to be approximately
          uniformly distributed in a band between radius `1 - width` and
          `1 + width` (for `width` << 1).
        dtype: Data type of the returned realization. Defaults to `tf.float32`.
        validate_args: required by `Distribution` class but unused.
        allow_nan_stats: required by `Distribution` class but unused.
        name: String. Name of the created object.
      """
      parameters = dict(locals())
      self._order = int(order)
      self._width = float(width)
      super().__init__(
          dtype=dtype,
          reparameterization_type=tfp.distributions.NOT_REPARAMETERIZED,
          validate_args=validate_args,
          allow_nan_stats=allow_nan_stats,
          parameters=parameters,
          name=name,
      )
  
file_path: compression/models/toy_sources/sphere.py
imports: import tensorflow
  import tensorflow_probability
label_desc: Use image node_id 1 to create a new Sphere object from inherited base classes: tfp.distributions with example: obj = Sphere(order, width, dtype, validate_args, allow_nan_stats, name)