parameters: (caffe_parameters, inputs_info, cntk_layer_def)
docstring: The pooling parameter setup from Caffe to CNTK
  
          Args:
              caffe_parameters (:class:`caffe.Parameters`): the parameters of Caffe
              inputs_info ('class':`cntk.contrib.crosstalkcaffe.unimodel.cntkmodel.CntkTensorDefinition`):
                  The input information of current layer
              cntk_layer_def ('class':`cntk.contrib.crosstalkcaffe.unimodel.cntkmodel.CntkLayersDefinition`):
                  The converted definition of CNTK layers
  
          Return:
              None
docstring_summary: The pooling parameter setup from Caffe to CNTK
docstring_tokens: The pooling parameter setup from Caffe to CNTK
function: def pooling(caffe_parameters, inputs_info, cntk_layer_def):
          '''
           The pooling parameter setup from Caffe to CNTK
  
          Args:
              caffe_parameters (:class:`caffe.Parameters`): the parameters of Caffe
              inputs_info ('class':`cntk.contrib.crosstalkcaffe.unimodel.cntkmodel.CntkTensorDefinition`):
                  The input information of current layer
              cntk_layer_def ('class':`cntk.contrib.crosstalkcaffe.unimodel.cntkmodel.CntkLayersDefinition`):
                  The converted definition of CNTK layers
  
          Return:
              None
          '''
          cntk_layer_def.parameters = cntkmodel.CntkPoolingParameters()
  
          # To support global pooling
          if caffe_parameters.global_pooling:
              filter_shape = (inputs_info[0].tensor[1], inputs_info[0].tensor[2])
              strides = (1, 1)
              output_size = (1, 1)
              pad = False
          else:
              filter_shape, strides, output_size, pad, _ = _setup_convolution_parameters(
                  caffe_parameters, inputs_info[0].tensor, is_ceil_pad=True)
  
          cntk_layer_def.parameters.kernel = filter_shape
          cntk_layer_def.parameters.stride = strides
          cntk_layer_def.parameters.auto_pad = pad
          cntk_layer_def.parameters.pooling_type = caffe_parameters.pool
          cntk_layer_def.tensor = [inputs_info[0].tensor[0], output_size[0], output_size[1]]
function_tokens: def pooling ( caffe_parameters , inputs_info , cntk_layer_def ) : cntk_layer_def . parameters = cntkmodel . CntkPoolingParameters ( ) # To support global pooling if caffe_parameters . global_pooling : filter_shape = ( inputs_info [ 0 ] . tensor [ 1 ] , inputs_info [ 0 ] . tensor [ 2 ] ) strides = ( 1 , 1 ) output_size = ( 1 , 1 ) pad = False else : filter_shape , strides , output_size , pad , _ = _setup_convolution_parameters ( caffe_parameters , inputs_info [ 0 ] . tensor , is_ceil_pad = True ) cntk_layer_def . parameters . kernel = filter_shape cntk_layer_def . parameters . stride = strides cntk_layer_def . parameters . auto_pad = pad cntk_layer_def . parameters . pooling_type = caffe_parameters . pool cntk_layer_def . tensor = [ inputs_info [ 0 ] . tensor [ 0 ] , output_size [ 0 ] , output_size [ 1 ] ]