Skip to content

Instantly share code, notes, and snippets.

@braingineer
Created August 23, 2017 02:04
Show Gist options
  • Save braingineer/9ec03157aef1ed5158b2d623118b8ea2 to your computer and use it in GitHub Desktop.
Save braingineer/9ec03157aef1ed5158b2d623118b8ea2 to your computer and use it in GitHub Desktop.
pytorch pad 1d
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