smth:

think of ConvTranspose as the opposite operation of Conv and output_padding of ConvTranspose is input padding of Conv


I’m curious: if output_padding of ConvTranspose is input padding of Conv, why is it single-sided?
I.e.,
# input padding = 1 in Conv:
[[ 0 0 0 ]
 [ 0 1 0 ]
 [ 0 0 0 ]]

# but output padding = 1 in ConvTransposed:
[[ 1 0 ]
 [ 0 0 ]]