'Create a new ConvLayer parameter object.
This is then passed as an argument to all the convolution operations.
Arguments:
dtype (data-type, optional): If present, specifies the underlying
type to employ for each element.
N (int): Number of images in mini-batch
C (int): Number of input feature maps
K (int): Number of output feature maps
D (int, optional): Depth of input image.  Defaults to 1
H (int, optional): Height of input image.  Defaults to 1
W (int, optional): Width of input image.  Defaults to 1
T (int, optional): Depth of filter kernel.  Defaults to 1
R (int, optional): Height of filter kernel.  Defaults to 1
S (int, optional): Width of filter kernel.  Defaults to 1
pad_d (int, optional): amount of zero-padding around the depth edge
Defaults to 0.
pad_h (int, optional): amount of zero-padding around the height edge
Defaults to 0.
pad_w (int, optional): amount of zero-padding around the width edge
Defaults to 0.
str_d (int, optional): factor to step the filters by in the depth
direction.  Defaults to 1
str_h (int, optional): factor to step the filters by in the depth
direction.  Defaults to 1
str_w (int, optional): factor to step the filters by in the depth
direction.  Defaults to 1
relu (bool, optional): apply a relu transform to the output for
fprop or bprop.  Defaults to False
bsum (bool, optional): calculate the sum along the batchnorm axis
for fprop or bprop.  Outputs an fp32 tensor
of size Kx1.  Defaults to False.'

@abc.abstractmethod
def conv_layer(self, dtype, N, C, K, D=1, H=1, W=1, T=1, R=1, S=1, pad_d=0, pad_h=0, pad_w=0, str_d=1, str_h=1, str_w=1, relu=False, bsum=False):

    raise NotImplementedError()
