Dans la liste python, nous pouvons utiliser list.index(somevalue)
. Comment Pytorch peut-il faire cela?
Par exemple:
a=[1,2,3]
print(a.index(2))
Alors, 1
sera sorti. Comment un tenseur de pytorque peut-il faire cela sans le convertir en liste python?
Je pense qu'il n'y a pas de traduction directe de list.index()
en fonction de pytorch. Cependant, vous pouvez obtenir des résultats similaires à l'aide de tensor==number
puis de la fonction nonzero()
. Par exemple:
t = torch.Tensor([1, 2, 3])
print ((t == 2).nonzero())
Ce morceau de code retourne
1
[torche.LongTensor de taille 1x1]
Peut être fait en convertissant en numpy comme suit
import torch
x = torch.range(1,4)
print(x)
===> tensor([ 1., 2., 3., 4.])
nx = x.numpy()
np.where(nx == 3)[0][0]
===> 2