class_docstr: Learnable multivariate diagonal normal distribution.
  
  The model is a multivariate normal distribution with learnable
  `mean` and `stddev` parameters.
class_docstr_tok: ["Learnable","multivariate","diagonal","normal","distribution",".","The","model","is","a","multivariate","normal","distribution","with","learnable","`","mean","`","and","`","stddev","`","parameters","."]
docstr: Constructs a learnable multivariate diagonal normal model.
  
  Args:
    dimensions: An integer corresponding to the dimensionality of the
      distribution.
code: def __init__(self, dimensions):
      """Constructs a learnable multivariate diagonal normal model.
  
      Args:
        dimensions: An integer corresponding to the dimensionality of the
          distribution.
      """
      super(LearnableMultivariateNormalDiag, self).__init__()
      with tf1.name_scope(self._name):
          self.dimensions = dimensions
          self._mean = tf.Variable(
              tf1.random.normal([dimensions], stddev=0.1), name="mean"
          )
          # Initialize the std dev such that it will be close to 1 after a softplus
          # function.
          self._untransformed_stddev = tf.Variable(
              tf1.random.normal([dimensions], mean=0.55, stddev=0.1),
              name="untransformed_stddev",
          )
  
imports: from datetime import datetime
  import functools
  from absl import app
  from absl import flags
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  import tensorflow_probability
  from tensorflow_probability.examples import sprites_dataset
  from tensorflow_probability.python.internal import tf_keras
label_desc: Use image node_id 1 to create a new LearnableMultivariateNormalDiag object from inherited base classes: tf_keras.v1 with example: obj = LearnableMultivariateNormalDiag(dimensions)