Следующие примеры показывают, как вы можете получить два разных ответа в зависимости от того, есть ли у вас список списков или списки списков списков или 2D -тензора Pytorch. Какова логика, используемая для массива индексации в один из двух выходов? < /P>
# create tensor
x = torch.arange(16).reshape(4, 4)
tensor([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11],
[12, 13, 14, 15]])
# index with two lists
x[
[0,1,],[2,3]
]
tensor([2, 7])
# index with list of two lists, i.e. index is 2d-array
x[
[[0,1,],[2,3]]
]
tensor([2, 7])
# index with list of list of two lists, i.e. index is 3d array
x[
[[[0,1,], [2,3,]]]
]
tensor([[[ 0, 1, 2, 3],
[ 4, 5, 6, 7]],
[[ 8, 9, 10, 11],
[12, 13, 14, 15]]])
# index with tensor made from list of 2 lists, i.e. index is 2d array
x[
torch.tensor([[0,1], [2,3]])
]
tensor([[[ 0, 1, 2, 3],
[ 4, 5, 6, 7]],
[[ 8, 9, 10, 11],
[12, 13, 14, 15]]])
Подробнее здесь: https://stackoverflow.com/questions/796 ... f-lists-vs
Как работает индексация Pytorch со списками списков против списков списков против тензоров ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение