class_docstr: SEResNet152 based on `Squeeze-and-Excitation Networks` with optional pretrained support when spatial_dims is 2.
code: def __init__(
      self,
      layers: Sequence[int] = (3, 8, 36, 3),
      groups: int = 1,
      reduction: int = 16,
      inplanes: int = 64,
      downsample_kernel_size: int = 1,
      input_3x3: bool = False,
      pretrained: bool = False,
      progress: bool = True,
      **kwargs,
  ) -> None:
      super().__init__(
          block=SEResNetBottleneck,
          layers=layers,
          groups=groups,
          reduction=reduction,
          inplanes=inplanes,
          downsample_kernel_size=downsample_kernel_size,
          input_3x3=input_3x3,
          **kwargs,
      )
      if pretrained:
          # it only worked when `spatial_dims` is 2
          _load_state_dict(self, "se_resnet152", progress)
  
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 1 to create a new SEResNet152 object from inherited base classes: SENet with example: obj = SEResNet152(layers, groups, reduction, inplanes, downsample_kernel_size, input_3x3, pretrained, progress)