class_docstr: Variational Autoencoder [1]_ is an generative model with stochastic encoder and decoder learned using Bayesian
  variational inference. The encoder network is used to obtain latent representations for the input while the decoder
  generated the samples from the latents.
  
  References:
      .. [1] Diederik P Kingma and Max Welling. Auto-encoding variational Bayes. ICLR, 2014
code: def _kl_divergence_z(self, mu_z, std_z):
      """ """
      kld_z = (
          self.z_prior_stdv.log()
          - std_z.log()
          + (std_z**2 + (mu_z.pow(2) - self.z_prior_mean))
          / (2 * self.z_prior_stdv.pow(2))
          - 0.5
      )
      return kld_z.sum()
  
imports: import matplotlib
  import matplotlib.pyplot
  import numpy
  import torch
  import torch.nn
  import torch.nn.functional
  from torch.autograd import Variable
  from torch.nn import Linear
  import os
label_desc: Use image node_id 6 for calling the VAE obj's underlying member method code with example usage: obj._kl_divergence_z(mu_z, std_z) and returns: kld_z