class_docstr: Generate latent parameters for CUB image data. 
class_docstr_tok: ["Generate","latent","parameters","for","CUB","image","data","."]
code: def __init__(self, latentDim):
      super(Enc, self).__init__()
      modules = [
          # input size: 3 x 128 x 128
          nn.Conv2d(imgChans, fBase, 4, 2, 1, bias=True),
          nn.ReLU(True),
          # input size: 1 x 64 x 64
          nn.Conv2d(fBase, fBase * 2, 4, 2, 1, bias=True),
          nn.ReLU(True),
          # size: (fBase * 2) x 32 x 32
          nn.Conv2d(fBase * 2, fBase * 4, 4, 2, 1, bias=True),
          nn.ReLU(True),
          # size: (fBase * 4) x 16 x 16
          nn.Conv2d(fBase * 4, fBase * 8, 4, 2, 1, bias=True),
          nn.ReLU(True),
      ]
      # size: (fBase * 8) x 4 x 4
  
      self.enc = nn.Sequential(*modules)
      self.c1 = nn.Conv2d(fBase * 8, latentDim, 4, 1, 0, bias=True)
      self.c2 = nn.Conv2d(fBase * 8, latentDim, 4, 1, 0, bias=True)
  
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 Enc object from inherited base classes: nn with example: obj = Enc(latentDim)