class_docstr: Variational inference with the KL divergence
  
  $\text{KL}( q(z; \lambda) \| p(z \mid x) ).$
  
  This class minimizes the objective using the score function gradient
  and an analytic KL term.
  
  The objective function also adds to itself a summation over all
  tensors in the `REGULARIZATION_LOSSES` collection.
class_docstr_tok: ["Variational","inference","with","the","KL","divergence","$","\\text","{","KL","}","(","q","(","z",";","\\lambda",")","\\|","p","(","z","\\mid","x",")",")",".","$","This","class","minimizes","the","objective","using","the","score","function","gradient","and","an","analytic","KL","term",".","The","objective","function","also","adds","to","itself","a","summation","over","all","tensors","in","the","`","REGULARIZATION_LOSSES","`","collection","."]
docstr: Initialize inference algorithm. It initializes hyperparameters
  and builds ops for the algorithm's computation graph.
  
  Args:
    n_samples: int.
      Number of samples from variational model for calculating
      stochastic gradients.
    kl_scaling: dict of RandomVariable to tf.Tensor.
      Provides option to scale terms when using ELBO with KL divergence.
      If the KL divergence terms are
  
      $\alpha_p \mathbb{E}_{q(z\mid x, \lambda)} [
            \log q(z\mid x, \lambda) - \log p(z)],$
  
      then pass {$p(z)$: $\alpha_p$} as `kl_scaling`,
      where $\alpha_p$ is a tensor. Its shape must be broadcastable;
      it is multiplied element-wise to the batchwise KL terms.
code: def initialize(self, n_samples=1, kl_scaling=None, *args, **kwargs):
      """Initialize inference algorithm. It initializes hyperparameters
      and builds ops for the algorithm's computation graph.
  
      Args:
        n_samples: int.
          Number of samples from variational model for calculating
          stochastic gradients.
        kl_scaling: dict of RandomVariable to tf.Tensor.
          Provides option to scale terms when using ELBO with KL divergence.
          If the KL divergence terms are
  
          $\\alpha_p \mathbb{E}_{q(z\mid x, \lambda)} [
                \log q(z\mid x, \lambda) - \log p(z)],$
  
          then pass {$p(z)$: $\\alpha_p$} as `kl_scaling`,
          where $\\alpha_p$ is a tensor. Its shape must be broadcastable;
          it is multiplied element-wise to the batchwise KL terms.
      """
      if kl_scaling is None:
          kl_scaling = {}
      if n_samples <= 0:
          raise ValueError(
              "n_samples should be greater than zero: {}".format(
                  n_samples
              )
          )
      self.n_samples = n_samples
      self.kl_scaling = kl_scaling
      return super(ScoreKLKLqp, self).initialize(*args, **kwargs)
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import six
  import tensorflow
  from edward.inferences.variational_inference import VariationalInference
  from edward.models import RandomVariable
  from edward.util import copy, get_descendants
label_desc: Use image node_id 2 for calling the ScoreKLKLqp obj's underlying member method code with example usage: obj.initialize(n_samples, kl_scaling) and returns: super