code: def net(self, input, class_dim=1000, scale=1.0):
      # conv1: 112x112
      input = self.conv_bn_layer(
          input,
          filter_size=3,
          channels=3,
          num_filters=int(32 * scale),
          stride=2,
          padding=1,
      )
  
      # 56x56
      input = self.depthwise_separable(
          input,
          num_filters1=32,
          num_filters2=64,
          num_groups=32,
          stride=1,
          scale=scale,
      )
  
      input = self.depthwise_separable(
          input,
          num_filters1=64,
          num_filters2=128,
          num_groups=64,
          stride=2,
          scale=scale,
      )
  
      # 28x28
      input = self.depthwise_separable(
          input,
          num_filters1=128,
          num_filters2=128,
          num_groups=128,
          stride=1,
          scale=scale,
      )
  
      input = self.depthwise_separable(
          input,
          num_filters1=128,
          num_filters2=256,
          num_groups=128,
          stride=2,
          scale=scale,
      )
  
      # 14x14
      input = self.depthwise_separable(
          input,
          num_filters1=256,
          num_filters2=256,
          num_groups=256,
          stride=1,
          scale=scale,
      )
  
      input = self.depthwise_separable(
          input,
          num_filters1=256,
          num_filters2=512,
          num_groups=256,
          stride=2,
          scale=scale,
      )
  
      # 14x14
      for i in range(5):
          input = self.depthwise_separable(
              input,
              num_filters1=512,
              num_filters2=512,
              num_groups=512,
              stride=1,
              scale=scale,
          )
      # 7x7
      input = self.depthwise_separable(
          input,
          num_filters1=512,
          num_filters2=1024,
          num_groups=512,
          stride=2,
          scale=scale,
      )
  
      input = self.depthwise_separable(
          input,
          num_filters1=1024,
          num_filters2=1024,
          num_groups=1024,
          stride=1,
          scale=scale,
      )
  
      input = fluid.layers.pool2d(
          input=input,
          pool_size=0,
          pool_stride=1,
          pool_type="avg",
          global_pooling=True,
      )
  
      output = fluid.layers.fc(
          input=input,
          size=class_dim,
          act="softmax",
          param_attr=ParamAttr(initializer=MSRA()),
      )
      return output
  
file_path: AdvBox/tutorials/image_classification/mobilenet.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from builtins import range
  from builtins import object
  import paddle.fluid
  from paddle.fluid.initializer import MSRA
  from paddle.fluid.param_attr import ParamAttr
label_desc: Use image node_id 2 for calling the MobileNet obj's underlying member method code with example usage: obj.net(input, class_dim, scale) and returns: output