Created
August 23, 2017 02:04
-
-
Save braingineer/9ec03157aef1ed5158b2d623118b8ea2 to your computer and use it in GitHub Desktop.
pytorch pad 1d
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def pad1d(tensor, pad): | |
# tensor should be in shape (batch, time, feat) | |
# pad should be in shape (left, right) | |
tensor = tensor.permute(0, 2, 1).contiguous() # get features on first dim since we are padding time | |
original_size = tensor.size() # (batch, feat, time) | |
final_new_size = (original_size[0], original_size[1], original_size[2] + pad[0] + pad[1]) | |
temp_new_size = original_size[:2] + (1,) + original_size[2:] | |
assert len(temp_new_size) == 4 | |
tensor = tensor.view(*temp_new_size) | |
pad = pad + (0, 0) | |
tensor = F.pad(tensor, pad) | |
tensor = tensor.view(*final_new_size) | |
tensor = tensor.permute(0, 2, 1) | |
return tensor | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment