Advertisement
Guest User

Untitled

a guest
Apr 22nd, 2019
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.65 KB | None | 0 0
  1. from torch.nn.functional import conv_transpose2d
  2.  
  3.  
  4. def specific_size_transpose2d(tensor, size, weight, bias, stride):
  5. """ Transpose2d with specific size """
  6. oh, ow = size[-2:]
  7. ih, iw = tensor.size()[-2:]
  8. k = weight.size(-1)
  9.  
  10. offset_h = -(oh - (ih - 1) * stride[0] - k)
  11. out_padding_h = offset_h % 2
  12. padding_h = (offset_h + 1) // 2
  13.  
  14. offset_w = -(ow - (iw - 1) * stride[1] - k)
  15. out_padding_w = offset_w % 2
  16. padding_w = (offset_w + 1) // 2
  17.  
  18. return conv_transpose2d(tensor, weight, bias, stride,
  19. padding=(padding_h, padding_w),
  20. output_padding=(out_padding_h, out_padding_w))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement