2d convolution layer this layer creates a convolution kernel that is convolved with the layer input over a single spatial or temporal dimension to produce a tensor of outputs if usebias is true a bias vector is created and added to the outputs finally if activation is not none it is applied to the outputs as well args filters int the dimension of the output space the number of filters in the convolution kernelsize int or tuplelist of 2 integer specifying the size of the convolution window strides int or tuplelist of 2 integer specifying the stride length of the convolution strides 1 is incompatible with dilationrate 1 padding string either valid or same caseinsensitive valid means no padding same results in padding evenly to the leftright or updown of the input when paddingsame and strides1 the output has the same size as the input dataformat string either channelslast or channelsfirst the ordering of the dimensions in the inputs channelslast corresponds to inputs with shape batchsize channels height width while channelsfirst corresponds to inputs with shape batchsize channels height width it defaults to the imagedataformat value found in your keras config file at keraskeras json if you never set it then it will be channelslast dilationrate int or tuplelist of 2 integers specifying the dilation rate to use for dilated convolution groups a positive int specifying the number of groups in which the input is split along the channel axis each group is convolved separately with filters groups filters the output is the concatenation of all the groups results along the channel axis input channels and filters must both be divisible by groups activation activation function if none no activation is applied usebias bool if true bias will be added to the output kernelinitializer initializer for the convolution kernel if none the default initializer glorotuniform will be used biasinitializer initializer for the bias vector if none the default initializer zeros will be used kernelregularizer optional regularizer for the convolution kernel biasregularizer optional regularizer for the bias vector activityregularizer optional regularizer function for the output kernelconstraint optional projection function to be applied to the kernel after being updated by an optimizer e g used to implement norm constraints or value constraints for layer weights the function must take as input the unprojected variable and must return the projected variable which must have the same shape constraints are not safe to use when doing asynchronous distributed training biasconstraint optional projection function to be applied to the bias after being updated by an optimizer input shape if dataformatchannelslast a 4d tensor with shape batchsize height width channels if dataformatchannelsfirst a 4d tensor with shape batchsize channels height width output shape if dataformatchannelslast a 4d tensor with shape batchsize newheight newwidth filters if dataformatchannelsfirst a 4d tensor with shape batchsize filters newheight newwidth returns a 4d tensor representing activationconv2dinputs kernel bias raises valueerror when both strides 1 and dilationrate 1 examples x np random rand4 10 10 128 y keras layers conv2d32 3 activation relu x printy shape 4 8 8 32 2d convolution layer this layer creates a convolution kernel that is convolved with the layer input over a single spatial or temporal dimension to produce a tensor of outputs if use_bias is true a bias vector is created and added to the outputs finally if activation is not none it is applied to the outputs as well args filters int the dimension of the output space the number of filters in the convolution kernel_size int or tuple list of 2 integer specifying the size of the convolution window strides int or tuple list of 2 integer specifying the stride length of the convolution strides 1 is incompatible with dilation_rate 1 padding string either valid or same case insensitive valid means no padding same results in padding evenly to the left right or up down of the input when padding same and strides 1 the output has the same size as the input data_format string either channels_last or channels_first the ordering of the dimensions in the inputs channels_last corresponds to inputs with shape batch_size channels height width while channels_first corresponds to inputs with shape batch_size channels height width it defaults to the image_data_format value found in your keras config file at keras keras json if you never set it then it will be channels_last dilation_rate int or tuple list of 2 integers specifying the dilation rate to use for dilated convolution groups a positive int specifying the number of groups in which the input is split along the channel axis each group is convolved separately with filters groups filters the output is the concatenation of all the groups results along the channel axis input channels and filters must both be divisible by groups activation activation function if none no activation is applied use_bias bool if true bias will be added to the output kernel_initializer initializer for the convolution kernel if none the default initializer glorot_uniform will be used bias_initializer initializer for the bias vector if none the default initializer zeros will be used kernel_regularizer optional regularizer for the convolution kernel bias_regularizer optional regularizer for the bias vector activity_regularizer optional regularizer function for the output kernel_constraint optional projection function to be applied to the kernel after being updated by an optimizer e g used to implement norm constraints or value constraints for layer weights the function must take as input the unprojected variable and must return the projected variable which must have the same shape constraints are not safe to use when doing asynchronous distributed training bias_constraint optional projection function to be applied to the bias after being updated by an optimizer input shape if data_format channels_last a 4d tensor with shape batch_size height width channels if data_format channels_first a 4d tensor with shape batch_size channels height width output shape if data_format channels_last a 4d tensor with shape batch_size new_height new_width filters if data_format channels_first a 4d tensor with shape batch_size filters new_height new_width returns a 4d tensor representing activation conv2d inputs kernel bias raises valueerror when both strides 1 and dilation_rate 1 examples x np random rand 4 10 10 128 y keras layers conv2d 32 3 activation relu x print y shape 4 8 8 32
from keras.api_export import keras_export
from keras.layers.convolutional.base_conv import BaseConv


@keras_export(["keras.layers.Conv2D", "keras.layers.Convolution2D"])
class Conv2D(BaseConv):
    

    def __init__(
        self,
        filters,
        kernel_size,
        strides=(1, 1),
        padding="valid",
        data_format=None,
        dilation_rate=(1, 1),
        groups=1,
        activation=None,
        use_bias=True,
        kernel_initializer="glorot_uniform",
        bias_initializer="zeros",
        kernel_regularizer=None,
        bias_regularizer=None,
        activity_regularizer=None,
        kernel_constraint=None,
        bias_constraint=None,
        **kwargs
    ):
        super().__init__(
            rank=2,
            filters=filters,
            kernel_size=kernel_size,
            strides=strides,
            padding=padding,
            data_format=data_format,
            dilation_rate=dilation_rate,
            groups=groups,
            activation=activation,
            use_bias=use_bias,
            kernel_initializer=kernel_initializer,
            bias_initializer=bias_initializer,
            kernel_regularizer=kernel_regularizer,
            bias_regularizer=bias_regularizer,
            activity_regularizer=activity_regularizer,
            kernel_constraint=kernel_constraint,
            bias_constraint=bias_constraint,
            **kwargs
        )