class_docstr: Black Box Variational Inference
  
  Parameters
  ----------
  neg_posterior : function
      posterior function
  
  q : List
      list holding distribution objects
  
  sims : int
      Number of Monte Carlo sims for the gradient
  
  step : float
      Step size for RMSProp
  
  iterations: int
      How many iterations to run
  
  record_elbo : boolean
      Whether to record the ELBO at every iteration
  
  quiet_progress : boolean
      Whether to print progress or stay quiet
docstr: Utility function for changing the approximate distribution parameters
docstr_tok: ["Utility","function","for","changing","the","approximate","distribution","parameters"]
code: def change_parameters(self, params):
      """
      Utility function for changing the approximate distribution parameters
      """
      no_of_params = 0
      for core_param in range(len(self.q)):
          for approx_param in range(self.q[core_param].param_no):
              self.q[core_param].vi_change_param(
                  approx_param, params[no_of_params]
              )
              no_of_params += 1
  
imports: import sys
  import numpy
  import scipy.stats
  from .stoch_optim import RMSProp, ADAM
  from .bbvi_routines import alpha_recursion, log_p_posterior, mb_log_p_posterior
label_desc: Use image node_id 2 for calling the BBVI obj's underlying member method code with example usage: obj.change_parameters(params) without return types