code: def inception_layer_v1(input_size, config, name_prefix=""):
      concat = Concat(2)
      conv1 = Sequential()
      conv1.add(
          SpatialConvolution(input_size, config[1][1], 1, 1, 1, 1)
          .set_init_method(
              weight_init_method=Xavier(),
              bias_init_method=ConstInitMethod(0.1),
          )
          .set_name(name_prefix + "1x1")
      )
      conv1.add(ReLU(True).set_name(name_prefix + "relu_1x1"))
      concat.add(conv1)
      conv3 = Sequential()
      conv3.add(
          SpatialConvolution(input_size, config[2][1], 1, 1, 1, 1)
          .set_init_method(
              weight_init_method=Xavier(),
              bias_init_method=ConstInitMethod(0.1),
          )
          .set_name(name_prefix + "3x3_reduce")
      )
      conv3.add(ReLU(True).set_name(name_prefix + "relu_3x3_reduce"))
      conv3.add(
          SpatialConvolution(
              config[2][1], config[2][2], 3, 3, 1, 1, 1, 1
          )
          .set_init_method(
              weight_init_method=Xavier(),
              bias_init_method=ConstInitMethod(0.1),
          )
          .set_name(name_prefix + "3x3")
      )
      conv3.add(ReLU(True).set_name(name_prefix + "relu_3x3"))
      concat.add(conv3)
      conv5 = Sequential()
      conv5.add(
          SpatialConvolution(input_size, config[3][1], 1, 1, 1, 1)
          .set_init_method(
              weight_init_method=Xavier(),
              bias_init_method=ConstInitMethod(0.1),
          )
          .set_name(name_prefix + "5x5_reduce")
      )
      conv5.add(ReLU(True).set_name(name_prefix + "relu_5x5_reduce"))
      conv5.add(
          SpatialConvolution(
              config[3][1], config[3][2], 5, 5, 1, 1, 2, 2
          )
          .set_init_method(
              weight_init_method=Xavier(),
              bias_init_method=ConstInitMethod(0.1),
          )
          .set_name(name_prefix + "5x5")
      )
      conv5.add(ReLU(True).set_name(name_prefix + "relu_5x5"))
      concat.add(conv5)
      pool = Sequential()
      pool.add(
          SpatialMaxPooling(3, 3, 1, 1, 1, 1, to_ceil=True).set_name(
              name_prefix + "pool"
          )
      )
      pool.add(
          SpatialConvolution(input_size, config[4][1], 1, 1, 1, 1)
          .set_init_method(
              weight_init_method=Xavier(),
              bias_init_method=ConstInitMethod(0.1),
          )
          .set_name(name_prefix + "pool_proj")
      )
      pool.add(ReLU(True).set_name(name_prefix + "relu_pool_proj"))
      concat.add(pool).set_name(name_prefix + "output")
      return concat
  
file_path: BigDL/python/dllib/src/bigdl/dllib/models/inception/inception.py
imports: from bigdl.dllib.nn.layer import *
  from optparse import OptionParser
  from bigdl.dllib.nn.criterion import *
  from bigdl.dllib.nn.initialization_method import *
  from bigdl.dllib.optim.optimizer import *
  from bigdl.dllib.feature.transform.vision.image import *
  from bigdl.dllib.nncontext import *
  from bigdl.dllib.utils.utils import detect_conda_env_name
  import os
  from math import ceil
  from bigdl.dllib.utils.log4Error import *
label_desc: Use image node_id 2 for calling a global function with example usage: inception_layer_v1(input_size, config, name_prefix) and returns: concat