web-dev-qa-db-fra.com

Comment lancer un IntTensor 1-D en int dans Pytorch

J'obtiens un IntTensor 1-D, mais je veux le convertir en entier. Je l'essaye par cette méthode:

print(dictionary[IntTensor.int()])

mais j'ai une erreur:

KeyError: Variable containing:
 423
[torch.IntTensor of size 1]

Merci ~

9
Ruben

Vous pouvez utiliser:

print(dictionary[IntTensor.data[0]])

La clé que vous utilisez est un objet de type autograd.Variable. .data donne le tenseur et l'indice 0 peut être utilisé pour accéder à l'élément.

1
skb

La méthode la plus simple et la plus propre que je connaisse:

IntTensor.item()

Depuis les documents PyTorch:

"Renvoie la valeur de ce tenseur sous la forme d'un nombre standard Python. Cela ne fonctionne que pour les tenseurs avec un élément. Pour les autres cas, voir: meth: ~Tensor.tolist "

14
Marcin
torch.tensor('variable',dtype=torch.int8)

essaye ça

0
Virkillthenasty