class_docstr: Derive a specific sub-class of a VAE for a CNN sentence model. 
class_docstr_tok: ["Derive","a","specific","sub-class","of","a","VAE","for","a","CNN","sentence","model","."]
code: def __init__(self, params):
      super(CUB_Image, self).__init__(
          dist.Laplace,  # prior
          dist.Laplace,  # likelihood
          dist.Laplace,  # posterior
          Enc(params.latent_dim),
          Dec(params.latent_dim),
          params,
      )
      grad = {"requires_grad": params.learn_prior}
      self._pz_params = nn.ParameterList(
          [
              nn.Parameter(
                  torch.zeros(1, params.latent_dim), requires_grad=False
              ),  # mu
              nn.Parameter(
                  torch.zeros(1, params.latent_dim), **grad
              ),  # logvar
          ]
      )
      self.modelName = "cubI"
      self.dataSize = torch.Size([3, 64, 64])
      self.llik_scaling = 1.0
  
imports: import torch
  import torch.distributions
  import torch.nn
  import torch.nn.functional
  import torch.utils.data
  from numpy import sqrt
  from torchvision import datasets, transforms
  from torchvision.utils import make_grid, save_image
  from utils import Constants
  from vis import plot_embeddings, plot_kls_df
  from .vae import VAE
label_desc: Use image node_id 1 to create a new CUB_Image object from inherited base classes: VAE with example: obj = CUB_Image(params)