class_docstr: lasagne.layers.FeaturePoolLayer(incoming, pool_size, axis=1,
  pool_function=theano.tensor.max, **kwargs)
  
  Feature pooling layer
  
  This layer pools across a given axis of the input. By default this is axis
  1, which corresponds to the feature axis for :class:`DenseLayer`,
  :class:`Conv1DLayer` and :class:`Conv2DLayer`. The layer can be used to
  implement maxout.
  
  Parameters
  ----------
  incoming : a :class:`Layer` instance or tuple
      The layer feeding into this layer, or the expected input shape.
  
  pool_size : integer
      the size of the pooling regions, i.e. the number of features / feature
      maps to be pooled together.
  
  axis : integer
      the axis along which to pool. The default value of ``1`` works
      for :class:`DenseLayer`, :class:`Conv1DLayer` and :class:`Conv2DLayer`.
  
  pool_function : callable
      the pooling function to use. This defaults to `theano.tensor.max`
      (i.e. max-pooling) and can be replaced by any other aggregation
      function.
  
  **kwargs
      Any additional keyword arguments are passed to the :class:`Layer`
      superclass.
  
  Notes
  -----
  This layer requires that the size of the axis along which it pools is a
  multiple of the pool size.
class_docstr_tok: ["lasagne.layers.FeaturePoolLayer","(","incoming",",","pool_size",",","axis=1",",","pool_function=theano.tensor.max",",","*","*","kwargs",")","Feature","pooling","layer","This","layer","pools","across","a","given","axis","of","the","input",".","By","default","this","is","axis","1",",","which","corresponds","to","the","feature","axis","for",":","class",":","`","DenseLayer","`",",",":","class",":","`","Conv1DLayer","`","and",":","class",":","`","Conv2DLayer","`",".","The","layer","can","be","used","to","implement","maxout",".","Parameters","--","--","--","--","--","incoming",":","a",":","class",":","`","Layer","`","instance","or","tuple","The","layer","feeding","into","this","layer",",","or","the","expected","input","shape",".","pool_size",":","integer","the","size","of","the","pooling","regions",",","i.e",".","the","number","of","features","\/","feature","maps","to","be","pooled","together",".","axis",":","integer","the","axis","along","which","to","pool",".","The","default","value","of","``","1","``","works","for",":","class",":","`","DenseLayer","`",",",":","class",":","`","Conv1DLayer","`","and",":","class",":","`","Conv2DLayer","`",".","pool_function",":","callable","the","pooling","function","to","use",".","This","defaults","to","`","theano.tensor.max","`","(","i.e",".","max-pooling",")","and","can","be","replaced","by","any","other","aggregation","function",".","*","*","kwargs","Any","additional","keyword","arguments","are","passed","to","the",":","class",":","`","Layer","`","superclass",".","Notes","--","--","-","This","layer","requires","that","the","size","of","the","axis","along","which","it","pools","is","a","multiple","of","the","pool","size","."]
code: def get_output_shape_for(self, input_shape):
      output_shape = list(input_shape)  # make a mutable copy
      output_shape[self.axis] = input_shape[self.axis] // self.pool_size
      return tuple(output_shape)
  
imports: import theano.tensor
  from .base import Layer
  from ..utils import as_tuple
label_desc: Use image node_id 2 for calling the FeaturePoolLayer obj's underlying member method code with example usage: obj.get_output_shape_for(input_shape) and returns: tuple