class_docstr: Generate a sentence given a sample from the latent space. 
code: def __init__(self, latentDim):
      super(Dec, self).__init__()
      self.dec = nn.Sequential(
          nn.ConvTranspose2d(latentDim, fBase * 16, 4, 1, 0, bias=True),
          nn.BatchNorm2d(fBase * 16),
          nn.ReLU(True),
          # size: (fBase * 8) x 4 x 4
          nn.ConvTranspose2d(
              fBase * 16, fBase * 8, (1, 4), (1, 2), (0, 1), bias=True
          ),
          nn.BatchNorm2d(fBase * 8),
          nn.ReLU(True),
          # size: (fBase * 8) x 4 x 8
          nn.ConvTranspose2d(
              fBase * 8, fBase * 4, (1, 4), (1, 2), (0, 1), bias=True
          ),
          nn.BatchNorm2d(fBase * 4),
          nn.ReLU(True),
          # size: (fBase * 4) x 8 x 32
          nn.ConvTranspose2d(fBase * 4, fBase * 2, 4, 2, 1, bias=True),
          nn.BatchNorm2d(fBase * 2),
          nn.ReLU(True),
          # size: (fBase * 2) x 16 x 64
          nn.ConvTranspose2d(fBase * 2, fBase, 4, 2, 1, bias=True),
          nn.BatchNorm2d(fBase),
          nn.ReLU(True),
          # size: (fBase) x 32 x 128
          nn.ConvTranspose2d(fBase, 1, 4, 2, 1, bias=True),
          nn.ReLU(True)
          # Output size: 1 x 64 x 256
      )
      # inverts the 'embedding' module upto one-hotness
      self.toVocabSize = nn.Linear(embeddingDim, vocabSize)
  
imports: import json
  import os
  import numpy
  import torch
  import torch.distributions
  import torch.nn
  import torch.nn.functional
  import torch.utils.data
  from torch.utils.data import DataLoader
  from datasets import CUBSentences
  from utils import Constants, FakeCategorical
  from .vae import VAE
label_desc: Use image node_id 1 to create a new Dec object from inherited base classes: nn with example: obj = Dec(latentDim)