code: def InceptionFactoryA(
      data,
      num_1x1,
      num_3x3red,
      num_3x3,
      num_d3x3red,
      num_d3x3,
      pool,
      proj,
      name,
  ):
      # 1x1
      c1x1 = ConvFactory(
          data=data,
          num_filter=num_1x1,
          kernel=(1, 1),
          name=("%s_1x1" % name),
      )
      # 3x3 reduce + 3x3
      c3x3r = ConvFactory(
          data=data,
          num_filter=num_3x3red,
          kernel=(1, 1),
          name=("%s_3x3" % name),
          suffix="_reduce",
      )
      c3x3 = ConvFactory(
          data=c3x3r,
          num_filter=num_3x3,
          kernel=(3, 3),
          pad=(1, 1),
          name=("%s_3x3" % name),
      )
      # double 3x3 reduce + double 3x3
      cd3x3r = ConvFactory(
          data=data,
          num_filter=num_d3x3red,
          kernel=(1, 1),
          name=("%s_double_3x3" % name),
          suffix="_reduce",
      )
      cd3x3 = ConvFactory(
          data=cd3x3r,
          num_filter=num_d3x3,
          kernel=(3, 3),
          pad=(1, 1),
          name=("%s_double_3x3_0" % name),
      )
      cd3x3 = ConvFactory(
          data=cd3x3,
          num_filter=num_d3x3,
          kernel=(3, 3),
          pad=(1, 1),
          name=("%s_double_3x3_1" % name),
      )
      # pool + proj
      pooling = mx.symbol.Pooling(
          data=data,
          kernel=(3, 3),
          stride=(1, 1),
          pad=(1, 1),
          pool_type=pool,
          name=("%s_pool_%s_pool" % (pool, name)),
      )
      cproj = ConvFactory(
          data=pooling,
          num_filter=proj,
          kernel=(1, 1),
          name=("%s_proj" % name),
      )
      # concat
      concat = mx.symbol.Concat(
          *[c1x1, c3x3, cd3x3, cproj],
          name="ch_concat_%s_chconcat" % name,
      )
      return concat
  
imports: import mxnet
label_desc: Use image node_id 2 for calling a global function with example usage: InceptionFactoryA(data, num_1x1, num_3x3red, num_3x3, num_d3x3red, num_d3x3, pool, proj, name) and returns: concat