class_docstr: Abstract class for the variational auto-encoder. The abstract method
  for training the network is implemented by subclasses.
class_docstr_tok: ["Abstract","class","for","the","variational","auto-encoder",".","The","abstract","method","for","training","the","network","is","implemented","by","subclasses","."]
code: def __init__(self, args, train_loader, test_loader):
      self.args = args
      self.vae_encoder = Encoder()
      self.vae_decoder = Decoder()
      self.train_loader = train_loader
      self.test_loader = test_loader
      self.mode = TRAIN
  
imports: import argparse
  import itertools
  import os
  from abc import ABCMeta, abstractmethod
  import torch
  import torch.nn
  from torch.nn import functional
  from torchvision.utils import save_image
  from utils.mnist_cached import DATA_DIR, RESULTS_DIR
  import pyro
  from pyro.contrib.examples import util
  from pyro.distributions import Bernoulli, Normal
  from pyro.infer import SVI, JitTrace_ELBO, Trace_ELBO
  from pyro.optim import Adam
label_desc: Use image node_id 1 to create a new VAE object from inherited base classes: object with example: obj = VAE(args, train_loader, test_loader)