что означает dim = -1 или -2 в torch.sum ()? - PullRequest
3 голосов
/ 12 января 2020

позвольте мне взять 2D-матрицу в качестве примера:

mat = torch.arange(9).view(3, -1)

tensor([[0, 1, 2],
        [3, 4, 5],
        [6, 7, 8]])

torch.sum(mat, dim=-2)

tensor([ 9, 12, 15])

Я считаю, что результат torch.sum(mat, dim=-2) равен torch.sum(mat, dim=0), а dim=-1 равен dim=1. Мой вопрос в том, как понять отрицательное измерение здесь. Что если входная матрица имеет 3 или более измерений?

Ответы [ 2 ]

4 голосов
/ 12 января 2020

Минус по сути означает, что вы go в обратном направлении через измерения. Пусть A n-мерная матрица. Тогда dim = n = -1, dim = n-1 = -2, ..., dim = 1 = - (n-1), dim = 0 = -n. См. numpy do c для получения дополнительной информации, поскольку pytorch в значительной степени основан на numpy.

2 голосов
/ 12 января 2020

Итак, тензор имеет несколько измерений, упорядоченных как на следующем рисунке. Это прямая индексация, но есть обратная. Для обратной индексации используется минус. Например:

-1 будет последним, в нашем случае это будет dim = 2

-2 будет dim = -1

-3 будет dim = 0

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...