code: def net(self, input, class_dim=1000):
      conv = self.conv_layer(
          input=input, num_filters=64, filter_size=7, stride=2, act=None
      )
      pool = fluid.layers.pool2d(
          input=conv, pool_size=3, pool_type="max", pool_stride=2
      )
  
      conv = self.conv_layer(
          input=pool, num_filters=64, filter_size=1, stride=1, act=None
      )
      conv = self.conv_layer(
          input=conv, num_filters=192, filter_size=3, stride=1, act=None
      )
      pool = fluid.layers.pool2d(
          input=conv, pool_size=3, pool_type="max", pool_stride=2
      )
  
      ince3a = self.inception(
          "ince3a", pool, 192, 64, 96, 128, 16, 32, 32
      )
      ince3b = self.inception(
          "ince3b", ince3a, 256, 128, 128, 192, 32, 96, 64
      )
      pool3 = fluid.layers.pool2d(
          input=ince3b, pool_size=3, pool_type="max", pool_stride=2
      )
  
      ince4a = self.inception(
          "ince4a", pool3, 480, 192, 96, 208, 16, 48, 64
      )
      ince4b = self.inception(
          "ince4b", ince4a, 512, 160, 112, 224, 24, 64, 64
      )
      ince4c = self.inception(
          "ince4c", ince4b, 512, 128, 128, 256, 24, 64, 64
      )
      ince4d = self.inception(
          "ince4d", ince4c, 512, 112, 144, 288, 32, 64, 64
      )
      ince4e = self.inception(
          "ince4e", ince4d, 528, 256, 160, 320, 32, 128, 128
      )
      pool4 = fluid.layers.pool2d(
          input=ince4e, pool_size=3, pool_type="max", pool_stride=2
      )
  
      ince5a = self.inception(
          "ince5a", pool4, 832, 256, 160, 320, 32, 128, 128
      )
      ince5b = self.inception(
          "ince5b", ince5a, 832, 384, 192, 384, 48, 128, 128
      )
      pool5 = fluid.layers.pool2d(
          input=ince5b, pool_size=7, pool_type="avg", pool_stride=7
      )
      dropout = fluid.layers.dropout(x=pool5, dropout_prob=0.4)
      out = fluid.layers.fc(
          input=dropout,
          size=class_dim,
          act="softmax",
          param_attr=self.xavier(1024, 1),
      )
  
      pool_o1 = fluid.layers.pool2d(
          input=ince4a, pool_size=5, pool_type="avg", pool_stride=3
      )
      conv_o1 = self.conv_layer(
          input=pool_o1,
          num_filters=128,
          filter_size=1,
          stride=1,
          act=None,
      )
      fc_o1 = fluid.layers.fc(
          input=conv_o1,
          size=1024,
          act="relu",
          param_attr=self.xavier(2048, 1),
      )
      dropout_o1 = fluid.layers.dropout(x=fc_o1, dropout_prob=0.7)
      out1 = fluid.layers.fc(
          input=dropout_o1,
          size=class_dim,
          act="softmax",
          param_attr=self.xavier(1024, 1),
      )
  
      pool_o2 = fluid.layers.pool2d(
          input=ince4d, pool_size=5, pool_type="avg", pool_stride=3
      )
      conv_o2 = self.conv_layer(
          input=pool_o2,
          num_filters=128,
          filter_size=1,
          stride=1,
          act=None,
      )
      fc_o2 = fluid.layers.fc(
          input=conv_o2,
          size=1024,
          act="relu",
          param_attr=self.xavier(2048, 1),
      )
      dropout_o2 = fluid.layers.dropout(x=fc_o2, dropout_prob=0.7)
      out2 = fluid.layers.fc(
          input=dropout_o2,
          size=class_dim,
          act="softmax",
          param_attr=self.xavier(1024, 1),
      )
  
      # last fc layer is "out"
      return out, out1, out2
  
file_path: AdvBox/tutorials/image_classification/googlenet.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from builtins import object
  import paddle
  import paddle.fluid
label_desc: Use image node_id 5 for calling the GoogleNet obj's underlying member method code with example usage: obj.net(input, class_dim) and returns: out,  out1,  out2