Having to specify adjW and adjH is not super handy. If the input size changes, those values might not be adapted anymore. One solution is to pass the desired output shape as input, as in nn.
Also, the order in out_padh and out_padw is doubly inverted here and here, it should be instead out_padw,out_padh.
I can send a PR if you agree with the changes.