code: def _se_or_skip(
      hidden_ch: int,
      input_ch: int,
      optional: bool,
      se_from_exp: bool,
      label: str,
  ) -> nn.Module:
      ch = hidden_ch if se_from_exp else input_ch
      if optional:
          return LayerChoice(
              {"identity": nn.Identity(), "se": SqueezeExcite(ch)},
              label=label,
          )
      else:
          return SqueezeExcite(ch)
  
imports: from functools import partial
  from typing import Tuple, Optional, Callable, Union, List, Type, cast
  from typing_extensions import Literal
  import torch
  from torch import nn
  import nni
  from nni.nas.nn.pytorch import ModelSpace, Repeat, LayerChoice, MutableLinear, MutableConv2d
  from .proxylessnas import ConvBNReLU, InvertedResidual, DepthwiseSeparableConv, MaybeIntChoice, make_divisible, reset_parameters
  from .utils.pretrained import load_pretrained_weight
label_desc: Use image node_id 1 for calling a global function with example usage: _se_or_skip(hidden_ch, input_ch, optional, se_from_exp, label) and returns: LayerChoice, SqueezeExcite