class_docstr: Parameterizes `q(z_t | z_{t-1}, x_{t:T})`, which is the basic building block
  of the guide (i.e. the variational distribution). The dependence on `x_{t:T}` is
  through the hidden state of the RNN (see the PyTorch module `rnn` below)
class_docstr_tok: ["Parameterizes","`","q","(","z_t","|","z_","{","t-1","}",",","x_","{","t",":","T","}",")","`",",","which","is","the","basic","building","block","of","the","guide","(","i.e",".","the","variational","distribution",")",".","The","dependence","on","`","x_","{","t",":","T","}","`","is","through","the","hidden","state","of","the","RNN","(","see","the","PyTorch","module","`","rnn","`","below",")"]
code: def __init__(self, z_dim, rnn_dim):
      super().__init__()
      # initialize the three linear transformations used in the neural network
      self.lin_z_to_hidden = nn.Linear(z_dim, rnn_dim)
      self.lin_hidden_to_loc = nn.Linear(rnn_dim, z_dim)
      self.lin_hidden_to_scale = nn.Linear(rnn_dim, z_dim)
      # initialize the two non-linearities used in the neural network
      self.tanh = nn.Tanh()
      self.softplus = nn.Softplus()
  
imports: import argparse
  import logging
  import time
  from os.path import exists
  import numpy
  import torch
  import torch.nn
  import pyro
  import pyro.contrib.examples.polyphonic_data_loader
  import pyro.distributions
  import pyro.poutine
  from pyro.distributions import TransformedDistribution
  from pyro.distributions.transforms import affine_autoregressive
  from pyro.infer import SVI, JitTrace_ELBO, Trace_ELBO, TraceEnum_ELBO, TraceTMC_ELBO, config_enumerate
  from pyro.optim import ClippedAdam
label_desc: Use image node_id 1 to create a new Combiner object from inherited base classes: nn with example: obj = Combiner(z_dim, rnn_dim)