У меня есть такой тензор:
x = torch.tensor([[3, 4, 2], [0, 1, 5]])
, и у меня есть такие индексы:
ind = torch.tensor([[1, 1, 0], [0, 0, 1]])
тогда я хочу сгенерировать новый тензор с помощью x
и ind
:
z = torch.tensor([0, 1, 2], [3, 4, 5])
Я использую Python так:
# -*- coding: utf-8 -*-
import torch
x = torch.tensor([[3, 4, 2], [0, 1, 5]])
ind = torch.tensor([[1, 1, 0], [0, 0, 1]])
z = torch.zeros_like(x)
for i in range(x.shape[0]):
for j in range(x.shape[1]):
z[i, j] = x[ind[i][j]][j]
print(z)
Я хочу знать, как решить эту проблему с помощью pytorch
?