'Symbolically convolves `input` with ``self.W``, producing an output of
shape ``self.output_shape``. To be implemented by subclasses.
Parameters
input : Theano tensor
The input minibatch to convolve
**kwargs
Any additional keyword arguments from :meth:`get_output_for`
Returns
Theano tensor
`input` convolved according to the configuration of this layer,
without any bias or nonlinearity applied.'

def convolve(self, input, **kwargs):

    raise NotImplementedError('BaseConvLayer    does    not    implement    the    convolve()    method.    You    will    want    to    use    a    subclass    such    as    Conv2DLayer.')
