class_docstr: Monitors layer calls to the underlying distribution.
class_docstr_tok: ["Monitors","layer","calls","to","the","underlying","distribution","."]
code: def __init__(
      self, result_sample, result_log_prob, loc=None, scale=None
  ):
      self.result_sample = result_sample
      self.result_log_prob = result_log_prob
      self.result_loc = loc
      self.result_scale = scale
      self.result_distribution = normal.Normal(loc=0.0, scale=1.0)
      if loc is not None and scale is not None:
          self.result_distribution = normal.Normal(
              loc=self.result_loc, scale=self.result_scale
          )
      self.called_log_prob = Counter()
      self.called_sample = Counter()
      self.called_loc = Counter()
      self.called_scale = Counter()
  
imports: import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import independent
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.internal import tf_keras
  from tensorflow_probability.python.layers import dense_variational
  from tensorflow_probability.python.layers import util
  from tensorflow_probability.python.random import random_ops
  from tensorflow_probability.python.util import seed_stream
label_desc: Use image node_id 1 to create a new MockDistribution object from inherited base classes: independent with example: obj = MockDistribution(result_sample, result_log_prob, loc, scale)