class_docstr: Docstring.
class_docstr_tok: ["Docstring","."]
docstr: Support self.foo = trackable syntax.
  
  Redefined from `tensorflow/python/trackable/tracking.py` to avoid
  calling `getattr`, which causes an infinite loop.
  
  Args:
    name: str, name of the attribute to be set.
    value: value to be set.
code: def __setattr__(self, name, value):
      """Support self.foo = trackable syntax.
  
      Redefined from `tensorflow/python/trackable/tracking.py` to avoid
      calling `getattr`, which causes an infinite loop.
  
      Args:
        name: str, name of the attribute to be set.
        value: value to be set.
      """
      if vars(self).get(name, _NOT_FOUND) is value:
          return
  
      if vars(self).get("_self_setattr_tracking", True):
          value = data_structures.sticky_attribute_assignment(
              trackable=self, value=value, name=name
          )
      object.__setattr__(self, name, value)
  
imports: import six
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import distribution
  from tensorflow_probability.python.distributions import kullback_leibler
  from tensorflow_probability.python.internal import nest_util
  from tensorflow_probability.python.internal import parameter_properties
  from tensorflow_probability.python.util.deferred_tensor import TensorMetaClass
  from tensorflow.python.framework import composite_tensor
  from tensorflow.python.trackable import data_structures
label_desc: Use image node_id 2 for calling the _TensorCoercible obj's underlying member method code with example usage: obj.__setattr__(name, value) without return types