Confusion about adj param in deconvolution


In my understanding,target_shape determine the output shape,the effect is similar to param output_shape in conv2d_transpose(tensorflow).So what‘s the effect of adj?


You have two ways to define the output you want, if you specify target_shape, then the padding and adjustment will be automatically computed for you. But you can also provide them directly. In that case do not specify the target_shape. You can see how these parameters are used here

However, if you are looking to start a new project I would suggest you have a look at the nicer Gluon API: Here is the Deconvolution layer which is here correctly called Transpose Convolution. The doc for that particular is not great, I have issued a PR to fix it. It is based on the pyTorch API though, so you can check the API here

When using transpose convolution, the parameters are little weird to think about, because you are specifying the parameters of the convolution that applied to your output shape would give you your input shape. Check these very good viz to get your head around it.


I found something in this paper.It seems that adj is a?