class_docstr: A feature extractor for small 32x32 images (e.g. CIFAR, MNIST) that outputs a feature vector of length 128.
  
  Args:
      num_channels (int): the number of input channels (default=3).
      kernel_size (int): the size of the convolution kernel (default=5).
  
  Examples::
      >>> feature_network = SmallCNNFeature(num_channels)
code: def __init__(self, num_channels=3, kernel_size=5):
      super(SmallCNNFeature, self).__init__()
      self.conv1 = nn.Conv2d(num_channels, 64, kernel_size=kernel_size)
      self.bn1 = nn.BatchNorm2d(64)
      self.pool1 = nn.MaxPool2d(2)
      self.relu1 = nn.ReLU()
      self.conv2 = nn.Conv2d(64, 64, kernel_size=kernel_size)
      self.bn2 = nn.BatchNorm2d(64)
      self.pool2 = nn.MaxPool2d(2)
      self.relu2 = nn.ReLU()
      self.conv3 = nn.Conv2d(64, 64 * 2, kernel_size=kernel_size)
      self.bn3 = nn.BatchNorm2d(64 * 2)
      self.sigmoid = nn.Sigmoid()
      self._out_features = 128
  
imports: import torch.nn
  from torch.nn import functional
  from torchvision import models
label_desc: Use image node_id 1 to create a new SmallCNNFeature object from inherited base classes: nn with example: obj = SmallCNNFeature(num_channels, kernel_size)