I have a very basic question, but I couldn’t get the idea about 2D convolution in Keras. When we are creating a model during C4W1A2 :
model = tf.keras.Sequential(
[tf.keras.layers.ZeroPadding2D(padding=(3,3), input_shape=(64,64,3)),
tf.keras.layers.Conv2D(filters=1, kernel_size=(7,7))])
why the output shape is (None, 64, 64, 1) :
Layer (type) Output Shape Param #
zero_padding2d_70 (ZeroPaddi (None, 70, 70, 3) 0
conv2d_72 (Conv2D) (None, 64, 64, 1) 148
Total params: 148
Trainable params: 148
Non-trainable params: 0
and not (None, 64, 64, 3) with 148 parameters?
As far as I understand, the 2D convolution is not a volume convolution, the window is a 2D-matrix, but not a 3D-cube, so could somebody please explain why do we have 64, 64, 1 instead of 64, 64, 3?