code: def vargnet_block(
      data,
      n_out_ch1,
      n_out_ch2,
      n_out_ch3,
      setting_params,
      factor=2,
      dim_match=True,
      multiplier=1,
      kernel=(3, 3),
      stride=(1, 1),
      dilate=1,
      with_dilate=False,
      name=None,
  ):
      use_se = setting_params["use_se"]
      act_type = setting_params["act_type"]
  
      out_channels_1 = int(n_out_ch1 * multiplier)
      out_channels_2 = int(n_out_ch2 * multiplier)
      out_channels_3 = int(n_out_ch3 * multiplier)
  
      pad = (
          ((kernel[0] - 1) * dilate + 1) // 2,
          ((kernel[1] - 1) * dilate + 1) // 2,
      )
  
      if with_dilate:
          stride = (1, 1)
      if dim_match:
          short_cut = data
      else:
          short_cut = separable_conv2d(
              data=data,
              in_channels=out_channels_1,
              out_channels=out_channels_3,
              kernel=kernel,
              pad=pad,
              setting_params=setting_params,
              stride=stride,
              factor=factor,
              bias=False,
              act_pw_out=False,
              dilate=dilate,
              name=name + "_shortcut",
          )
      sep1_data = separable_conv2d(
          data=data,
          in_channels=out_channels_1,
          out_channels=out_channels_2,
          kernel=kernel,
          pad=pad,
          setting_params=setting_params,
          stride=stride,
          factor=factor,
          bias=False,
          dilate=dilate,
          name=name + "_sep1_data",
      )
      sep2_data = separable_conv2d(
          data=sep1_data,
          in_channels=out_channels_2,
          out_channels=out_channels_3,
          kernel=kernel,
          pad=pad,
          setting_params=setting_params,
          stride=(1, 1),
          factor=factor,
          bias=False,
          dilate=dilate,
          act_pw_out=False,
          name=name + "_sep2_data",
      )
  
      if use_se:
          sep2_data = se_block(
              data=sep2_data,
              num_filter=out_channels_3,
              setting_params=setting_params,
              name=name,
          )
  
      out_data = sep2_data + short_cut
      out_data = Act(
          data=out_data, act_type=act_type, name=name + "_out_data_act"
      )
      return out_data
  
file_path: insightface/recognition/subcenter_arcface/symbol/vargfacenet.py
imports: import os
  import sys
  import mxnet
  import symbol_utils
  from config import config
label_desc: Use image node_id 5 for calling a global function with example usage: vargnet_block(data, n_out_ch1, n_out_ch2, n_out_ch3, setting_params, factor, dim_match, multiplier, kernel, stride, dilate, with_dilate, name) and returns: out_data