class_docstr: SENet based on `Squeeze-and-Excitation Networks <https://arxiv.org/pdf/1709.01507.pdf>`_.
  Adapted from `Cadene Hub 2D version
  <https://github.com/Cadene/pretrained-models.pytorch/blob/master/pretrainedmodels/models/senet.py>`_.
  
  Args:
      spatial_dims: spatial dimension of the input data.
      in_channels: channel number of the input data.
      block: SEBlock class or str.
          for SENet154: SEBottleneck or 'se_bottleneck'
          for SE-ResNet models: SEResNetBottleneck or 'se_resnet_bottleneck'
          for SE-ResNeXt models:  SEResNeXtBottleneck or 'se_resnetxt_bottleneck'
      layers: number of residual blocks for 4 layers of the network (layer1...layer4).
      groups: number of groups for the 3x3 convolution in each bottleneck block.
          for SENet154: 64
          for SE-ResNet models: 1
          for SE-ResNeXt models:  32
      reduction: reduction ratio for Squeeze-and-Excitation modules.
          for all models: 16
      dropout_prob: drop probability for the Dropout layer.
          if `None` the Dropout layer is not used.
          for SENet154: 0.2
          for SE-ResNet models: None
          for SE-ResNeXt models: None
      dropout_dim: determine the dimensions of dropout. Defaults to 1.
          When dropout_dim = 1, randomly zeroes some of the elements for each channel.
          When dropout_dim = 2, Randomly zeroes out entire channels (a channel is a 2D feature map).
          When dropout_dim = 3, Randomly zeroes out entire channels (a channel is a 3D feature map).
      inplanes:  number of input channels for layer1.
          for SENet154: 128
          for SE-ResNet models: 64
          for SE-ResNeXt models: 64
      downsample_kernel_size: kernel size for downsampling convolutions in layer2, layer3 and layer4.
          for SENet154: 3
          for SE-ResNet models: 1
          for SE-ResNeXt models: 1
      input_3x3: If `True`, use three 3x3 convolutions instead of
          a single 7x7 convolution in layer0.
          - For SENet154: True
          - For SE-ResNet models: False
          - For SE-ResNeXt models: False
      num_classes: number of outputs in `last_linear` layer.
          for all models: 1000
code: def forward(self, x: torch.Tensor) -> torch.Tensor:
      x = self.features(x)
      x = self.logits(x)
      return x
  
imports: from __future__ import annotations
  import re
  from collections import OrderedDict
  from collections.abc import Sequence
  from typing import Any
  import torch
  import torch.nn
  from torch.hub import load_state_dict_from_url
  from monai.apps.utils import download_url
  from monai.networks.blocks.convolutions import Convolution
  from monai.networks.blocks.squeeze_and_excitation import SEBottleneck, SEResNetBottleneck, SEResNeXtBottleneck
  from monai.networks.layers.factories import Act, Conv, Dropout, Norm, Pool
  from monai.utils.module import look_up_option
label_desc: Use image node_id 5 for calling the SENet obj's underlying member method code with example usage: obj.forward(x) and returns: x