img_conv_group

paddle.fluid.nets. img_conv_group ( input, conv_num_filter, pool_size, conv_padding=1, conv_filter_size=3, conv_act=None, param_attr=None, conv_with_batchnorm=False, conv_batchnorm_drop_rate=0.0, pool_stride=1, pool_type='max', use_cudnn=True ) [source]
api_attr

Static Graph

The Image Convolution Group is composed of Convolution2d, BatchNorm, DropOut, and Pool2D. According to the input arguments, img_conv_group will do serials of computation for Input using Convolution2d, BatchNorm, DropOut, and pass the last result to Pool2D.

Parameters
  • input (Variable) – The input is 4-D Tensor with shape [N, C, H, W], the data type of input is float32 or float64.

  • conv_num_filter (list|tuple) – Indicates the numbers of filter of this group.

  • pool_size (int|list|tuple) – The pooling size of Pool2D Layer. If pool_size is a list or tuple, it must contain two integers, (pool_size_height, pool_size_width). Otherwise, the pool_size_height = pool_size_width = pool_size.

  • conv_padding (int|list|tuple) – The padding size of the Conv2D Layer. If padding is a list or tuple, its length must be equal to the length of conv_num_filter. Otherwise the conv_padding of all Conv2D Layers are the same. Default 1.

  • conv_filter_size (int|list|tuple) – The filter size. If filter_size is a list or tuple, its length must be equal to the length of conv_num_filter. Otherwise the conv_filter_size of all Conv2D Layers are the same. Default 3.

  • conv_act (str) – Activation type for Conv2D Layer that is not followed by BatchNorm. Default: None.

  • param_attr (ParamAttr) – The parameters to the Conv2D Layer. Default: None

  • conv_with_batchnorm (bool|list) – Indicates whether to use BatchNorm after Conv2D Layer. If conv_with_batchnorm is a list, its length must be equal to the length of conv_num_filter. Otherwise, conv_with_batchnorm indicates whether all the Conv2D Layer follows a BatchNorm. Default False.

  • conv_batchnorm_drop_rate (float|list) – Indicates the drop_rate of Dropout Layer after BatchNorm. If conv_batchnorm_drop_rate is a list, its length must be equal to the length of conv_num_filter. Otherwise, drop_rate of all Dropout Layers is conv_batchnorm_drop_rate. Default 0.0.

  • pool_stride (int|list|tuple) – The pooling stride of Pool2D layer. If pool_stride is a list or tuple, it must contain two integers, (pooling_stride_H, pooling_stride_W). Otherwise, the pooling_stride_H = pooling_stride_W = pool_stride. Default 1.

  • pool_type (str) – Pooling type can be \(max\) for max-pooling and \(avg\) for average-pooling. Default \(max\).

  • use_cudnn (bool) – Use cudnn kernel or not, it is valid only when the cudnn library is installed. Default: True

Returns

A Variable holding Tensor representing the final result after serial computation using Convolution2d, BatchNorm, DropOut, and Pool2D, whose data type is the same with input.

Examples

import paddle.fluid as fluid
import paddle
paddle.enable_static()

img = fluid.data(name='img', shape=[None, 1, 28, 28], dtype='float32')
conv_pool = fluid.nets.img_conv_group(input=img,
                                      conv_padding=1,
                                      conv_num_filter=[3, 3],
                                      conv_filter_size=3,
                                      conv_act="relu",
                                      pool_size=2,
                                      pool_stride=2)