code: def __init__(
      self,
      input_c: int,  # block input channel
      expand_c: int,  # block expand channel
      squeeze_factor: int = 4,
  ):
      super(SqueezeExcitation, self).__init__()
      squeeze_c = input_c // squeeze_factor
      self.fc1 = nn.Conv2d(expand_c, squeeze_c, 1)
      self.ac1 = nn.SiLU()  # alias Swish
      self.fc2 = nn.Conv2d(squeeze_c, expand_c, 1)
      self.ac2 = nn.Sigmoid()
  
imports: import math
  import copy
  from functools import partial
  from collections import OrderedDict
  from typing import Optional, Callable
  import torch
  import torch.nn
  from torch import Tensor
  from torch.nn import functional
label_desc: Use image node_id 1 to create a new SqueezeExcitation object from inherited base classes: nn with example: obj = SqueezeExcitation(input_c, expand_c, squeeze_factor)