Чтобы помочь вам лучше, вам нужно опубликовать код , который вызвал ошибку, без нее мы просто догадываемся здесь ...
Догадываясь из полученного сообщения об ошибке:
1.
Sizes of tensors must match except in dimension 2
pytorch пытается объединить по второму измерению, тогда как вы пытаетесь объединить по первому.
2.
Got 32 and 71 in dimension 0
Кажется, что размеры тензора, который вы хотите объединить, не соответствуют вашим ожиданиям, у вас есть размер с размером (72, ...)
, а у другого - (32, ...)
.
Вам также необходимо это проверить.
Рабочий код
Вот пример concat
import torch
x = torch.rand((71, 32, 1))
# x.shape = torch.Size([71, 32, 1])
px = torch.cat((torch.zeros(29, 32, 1, dtype=x.dtype, device=x.device), x), dim=0)
# px.shape = torch.Size([100, 32, 1])
В качестве альтернативы вы можете использовать functional.pad
:
from torch.nn import functional as F
px = F.pad(x, (0, 0, 0, 0, 29, 0))