Добавьте тензор к другому, повторяя вдоль оси - PullRequest
2 голосов
/ 26 апреля 2020

У меня есть тензор out с формой:

torch.Size([4, 644, 25])

и еще один x с формой:

torch.Size([4, 161, 25])

Я хочу добавить x к out 4 раза, что-то вроде:

        out[:, 0:161] += x
        out[:, 161:322] += x
        out[:, 322:483] += x
        out[:, 483:644] += x

Есть ли какой-нибудь однострочный текст, который я могу использовать для этого?

1 Ответ

2 голосов
/ 26 апреля 2020

Мы можем использовать np.tile здесь:

out += np.tile(x, (1,out.shape[1]//x.shape[1],1))

Или используя pytorch 's repeat:

out += x.repeat(1,out.shape[1]//x.shape[1],1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...