class_docstr: VGG2L module for custom encoder.
  
  Args:
      idim: Input dimension.
      odim: Output dimension.
      pos_enc: Positional encoding class.
docstr: Construct a VGG2L object.
docstr_tok: ["Construct","a","VGG2L","object","."]
code: def __init__(
      self, idim: int, odim: int, pos_enc: torch.nn.Module = None
  ):
      """Construct a VGG2L object."""
      super().__init__()
  
      self.vgg2l = torch.nn.Sequential(
          torch.nn.Conv2d(1, 64, 3, stride=1, padding=1),
          torch.nn.ReLU(),
          torch.nn.Conv2d(64, 64, 3, stride=1, padding=1),
          torch.nn.ReLU(),
          torch.nn.MaxPool2d((3, 2)),
          torch.nn.Conv2d(64, 128, 3, stride=1, padding=1),
          torch.nn.ReLU(),
          torch.nn.Conv2d(128, 128, 3, stride=1, padding=1),
          torch.nn.ReLU(),
          torch.nn.MaxPool2d((2, 2)),
      )
  
      if pos_enc is not None:
          self.output = torch.nn.Sequential(
              torch.nn.Linear(128 * ((idim // 2) // 2), odim), pos_enc
          )
      else:
          self.output = torch.nn.Linear(128 * ((idim // 2) // 2), odim)
  
imports: from typing import Tuple, Union
  import torch
label_desc: Use image node_id 1 to create a new VGG2L object from inherited base classes: torch.nn with example: obj = VGG2L(idim, odim, pos_enc)