web-dev-qa-db-fra.com

Itérer sur deux tenseurs Pytorch à la fois?

J'ai deux tenseurs Pytorch (vraiment, juste des listes 1-D), t1 Et t2. Est-il possible de les parcourir en parallèle, c'est-à-dire de faire quelque chose comme

for a,b in Zip(t1,t2) ?

Merci.

Vous pouvez essayer: torch.stack(seq, dim=0, out=None) → Tensor,
pour plus de détails, voir documentation pytoch

1
Jaja

Il serait plus logique de concaténer les avec torch.cat(dim=1); vous pouvez ensuite parcourir le nouveau tenseur.

1
gmds

Pour Zip tenseurs dans PyTorch en une seule utilisation torch.stack avec dim=1

Exemple

t1 = torch.tensor([1, 2, 3])
t2 = torch.tensor([10, 20, 30])
t3 = torch.tensor([100, 200, 300])

res = torch.stack((t1, t2, t3), dim=1)
#output
#tensor([[  1,  10, 100],
#        [  2,  20, 200],
#        [  3,  30, 300]])
0
Svyatoslav Shilkov