code: def se_block(data, num_filter, setting_params, name):
      se_ratio = setting_params["se_ratio"]
      act_type = setting_params["act_type"]
  
      pool1 = mx.sym.Pooling(
          data=data,
          global_pool=True,
          pool_type="avg",
          name=name + "_se_pool1",
      )
      conv1 = mx.sym.Convolution(
          data=pool1,
          num_filter=num_filter // se_ratio,
          kernel=(1, 1),
          stride=(1, 1),
          pad=(0, 0),
          name=name + "_se_conv1",
      )
      act1 = Act(data=conv1, act_type=act_type, name=name + "_se_act1")
  
      conv2 = mx.sym.Convolution(
          data=act1,
          num_filter=num_filter,
          kernel=(1, 1),
          stride=(1, 1),
          pad=(0, 0),
          name=name + "_se_conv2",
      )
      act2 = mx.symbol.Activation(
          data=conv2, act_type="sigmoid", name=name + "_se_sigmoid"
      )
      out_data = mx.symbol.broadcast_mul(data, act2)
      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 3 for calling a global function with example usage: se_block(data, num_filter, setting_params, name) and returns: out_data