code: def add_emb_block(
      data,
      input_channels,
      last_channels,
      emb_size,
      fc_type,
      setting_params,
      bias=False,
      name=None,
  ):
      bn_mom = setting_params["bn_mom"]
      bn_eps = setting_params["bn_eps"]
      fix_gamma = setting_params["fix_gamma"]
      use_global_stats = setting_params["use_global_stats"]
      workspace = setting_params["workspace"]
      act_type = setting_params["act_type"]
      group_base = setting_params["group_base"]
      # last channels
      if input_channels != last_channels:
          data = mx.sym.Convolution(
              data=data,
              num_filter=last_channels,
              kernel=(1, 1),
              pad=(0, 0),
              stride=(1, 1),
              no_bias=False if bias else True,
              workspace=workspace,
              name=name + "_convx",
          )
          data = mx.sym.BatchNorm(
              data=data,
              fix_gamma=fix_gamma,
              eps=bn_eps,
              momentum=bn_mom,
              use_global_stats=use_global_stats,
              name=name + "_convx_bn",
          )
          data = Act(
              data=data, act_type=act_type, name=name + "_convx_act"
          )
      # depthwise
      convx_depthwise = mx.sym.Convolution(
          data=data,
          num_filter=last_channels,
          num_group=int(last_channels / group_base),
          kernel=(7, 7),
          pad=(0, 0),
          stride=(1, 1),
          no_bias=False if bias else True,
          workspace=workspace,
          name=name + "_convx_depthwise",
      )
      convx_depthwise = mx.sym.BatchNorm(
          data=convx_depthwise,
          fix_gamma=fix_gamma,
          eps=bn_eps,
          momentum=bn_mom,
          use_global_stats=use_global_stats,
          name=name + "_convx_depthwise_bn",
      )
      # pointwise
      convx_pointwise = mx.sym.Convolution(
          data=convx_depthwise,
          num_filter=last_channels // 2,
          kernel=(1, 1),
          pad=(0, 0),
          stride=(1, 1),
          no_bias=False if bias else True,
          workspace=workspace,
          name=name + "_convx_pointwise",
      )
      convx_pointwise = mx.sym.BatchNorm(
          data=convx_pointwise,
          fix_gamma=fix_gamma,
          eps=bn_eps,
          momentum=bn_mom,
          use_global_stats=use_global_stats,
          name=name + "_convx_pointwise_bn",
      )
      convx_pointwise = Act(
          data=convx_pointwise,
          act_type=act_type,
          name=name + "_convx_pointwise_act",
      )
  
      fc1 = symbol_utils.get_fc1(convx_pointwise, emb_size, fc_type)
      return fc1
  
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 9 for calling a global function with example usage: add_emb_block(data, input_channels, last_channels, emb_size, fc_type, setting_params, bias, name) and returns: fc1