Understanding Keras.Conv2dtranspose

Hi everyone,

I’m currently working on my thesis and am trying to implement the conv2dtranspose function from Keras in C. To do this, I need a deeper understanding of the underlying mathematical operations involved.

In my CNN architecture, I have a specific layer that performs a transformation from an 8x8x1024 input matrix to a 16x16x512 output matrix. I understand that the stride parameter set to 2 is responsible for the increased output height and width (16x16). However, I’m struggling to grasp how the number of filters (n_filters) influences this process.

In my current example, the layer utilizes 512 filters, resulting in a final channel depth of 512 in the output. I’m particularly interested in a detailed explanation of how each element in the resulting matrix is calculated, specifically how the filter count plays a role in this computation.

Any insights or explanations regarding the impact of filter count on the output in transposed convolution would be greatly appreciated. Thanks in advance for your help!