code: def conv_block(self, input, num_filter, groups):
      conv = input
      for i in range(groups):
          conv = fluid.layers.conv2d(
              input=conv,
              num_filters=num_filter,
              filter_size=3,
              stride=1,
              padding=1,
              act="relu",
              param_attr=fluid.param_attr.ParamAttr(
                  initializer=fluid.initializer.Normal(scale=0.01)
              ),
              bias_attr=fluid.param_attr.ParamAttr(
                  initializer=fluid.initializer.Constant(value=0.0)
              ),
          )
      return fluid.layers.pool2d(
          input=conv, pool_size=2, pool_type="max", pool_stride=2
      )
  
file_path: AdvBox/tutorials/image_classification/vgg.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
  import paddle.fluid
label_desc: Use image node_id 3 for calling the VGGNet obj's underlying member method code with example usage: obj.conv_block(input, num_filter, groups) and returns: fluid