code: def get_model(
      layer_type: Literal["conv", "linear"],
      in_channels_or_features: int,
      out_channels_or_features: int,
      kernel_size: Union[int, Tuple[int, int]] = 3,
      stride: Union[int, Tuple[int, int]] = 1,
      padding: Union[int, Tuple[int, int]] = 0,
      bias: bool = True,
      hidden_features: int = 128,
      activation: Literal["relu", "tanh", "sigmoid"] = "relu",
      passport_distribute: Literal["gaussian", "uniform"] = "gaussian",
      passport_mode: Literal["single", "multi"] = "single",
      loc=-1.0,
      scale=1.0,
      low=-1.0,
      high=1.0,
      num_passport=1,
      ae_in=None,
      ae_out=None,
      **kwargs,
  ):
      if layer_type == "conv":
          model = ConvPassportBlock(
              in_channels=in_channels_or_features,
              out_channels=out_channels_or_features,
              kernel_size=kernel_size,
              stride=stride,
              padding=padding,
              bias=bias,
              passport_distribute=passport_distribute,
              passport_mode=passport_mode,
              loc=loc,
              scale=scale,
              low=low,
              high=high,
              num_passport=num_passport,
              ae_in=ae_in,
              ae_out=ae_out,
              activation=activation,
          )
      elif layer_type == "linear":
          model = LinearPassportBlock(
              in_features=in_channels_or_features,
              out_features=out_channels_or_features,
              bias=bias,
              passport_distribute=passport_distribute,
              passport_mode=passport_mode,
              loc=loc,
              scale=scale,
              low=low,
              high=high,
              num_passport=num_passport,
              ae_in=ae_in,
              ae_out=ae_out,
              hidden_feature=hidden_features,
          )
      else:
          raise ValueError(
              f"Unsupported layer type: {layer_type}, available: ['conv', 'linear']"
          )
  
      return model
  
file_path: FATE/python/fate/ml/nn/model_zoo/agg_layer/fedpass/agg_layer.py
imports: from typing import Union, Literal, Tuple
  from fate.ml.nn.model_zoo.agg_layer.agg_layer import AggLayerHost, AggLayerGuest
  from fate.ml.nn.model_zoo.agg_layer.fedpass._passport_block import ConvPassportBlock, LinearPassportBlock
label_desc: Use image node_id 1 for calling a global function with example usage: get_model(layer_type, in_channels_or_features, out_channels_or_features, kernel_size, stride, padding, bias, hidden_features, activation, passport_distribute, passport_mode, loc, scale, low, high, num_passport, ae_in, ae_out) and returns: model