class_docstr: The only difference from vanilla ResNet is that it has 'layer0' module
code: def forward(self, x: Tensor) -> List[Tensor]:
      output_features = []
      for layer in self.encoder_layers:
          output = layer(x)
          output_features.append(output)
  
          if layer == self.layer0:
              # Fist maxpool operator is not a part of layer0
              # because we want that layer0 output to have stride of 2
              output = self.maxpool(output)
          x = output
  
      # Return only features that were requested
      return _take(output_features, self._layers)
  
imports: from typing import List
  import torch
  from torch import Tensor
  from .common import EncoderModule, _take, make_n_channel_input
  from ..backbone.senet import SENet, se_resnext50_32x4d, se_resnext101_32x4d, se_resnet50, se_resnet101, se_resnet152, senet154
label_desc: Use image node_id 5 for calling the SEResnetEncoder obj's underlying member method code with example usage: obj.forward(x) and returns: _take