You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tvm.apache.org by GitBox <gi...@apache.org> on 2021/10/22 23:08:35 UTC

[GitHub] [tvm] AndrewZhaoLuo edited a comment on pull request #9336: [Topi][Op][PyTorch][Vitas] Fix inconsistent kernel layout conventions for conv2d_transpose

AndrewZhaoLuo edited a comment on pull request #9336:
URL: https://github.com/apache/tvm/pull/9336#issuecomment-950006190


   I think in general, `I = the dimension that will change when we expect the input channels to change`. `O = the dimension that will change when we expect the output channels to change`. In this operator, this is not the case (and it also isn't for the 1D and 3D cases too probably but I will change those if this gets good traction).
   
   I will say I can understand maybe why this convention is so weird.
   
   conv2d_transpose can be seen as the gradient of conv2d. 
   
   So 'I' and 'O' represent the input and output channels of the imaginary conv2d function this is a gradient of. However, in conv2d_transpose, we don't have this context really and flipping the signs will cause confusion.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@tvm.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org