code: def __init__(self, in_channels=1, hidden_dim=512):
      super().__init__()
      assert isinstance(in_channels, int)
      assert isinstance(hidden_dim, int)
  
      self.conv1 = ConvBNLayer(
          in_channels, 3, hidden_dim // 2, stride=1, padding=1
      )
      self.conv2 = ConvBNLayer(
          hidden_dim // 2, 3, hidden_dim, stride=1, padding=1
      )
      self.pool = nn.MaxPool2D(kernel_size=2, stride=2, padding=0)
      self.out_channels = hidden_dim
  
file_path: PaddleOCR/ppocr/modeling/backbones/rec_shallow_cnn.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import math
  import numpy
  import paddle
  from paddle import ParamAttr
  import paddle.nn
  import paddle.nn.functional
  from paddle.nn import MaxPool2D
  from paddle.nn.initializer import KaimingNormal, Uniform, Constant
label_desc: Use image node_id 1 to create a new ShallowCNN object from inherited base classes: nn with example: obj = ShallowCNN(in_channels, hidden_dim)