Supposons que j'ai la liste de mémoire list_of_tensors = [tensor1, tensor2, tensor3, tensor4]
. Chaque élément est un tenseur de pytorch de forme (1, 1, 84, 84)
.
Je veux concaténer cette liste de tenseurs pour obtenir un tenseur de forme (4, 1, 84, 84)
. torch.cat(TT, dim=0)
pourrait certainement me permettre de faire cela. TT
doit être un tuple de tenseur, donc torch.cat(*list_of_tensors, dim=0)
ou torch.cat((*list_of_tensors), dim=0)
ne fonctionnera pas.
Comment puis - je utiliser list_of_tensors
et torch.cat(???, dim=0)
pour créer un nouveau tenseur de forme(4, 1, 84, 84)
Vous pouvez utiliser la pile , et enlever la dimension excédentaire avec retrait obligatoire
c = (torch.stack(list_of_tensors,dim=1)).squeeze(0)
maintenant c.shape est (4, 1, 84, 84)
Vous pouvez trouver ici des explications: https://discuss.pytorch.org/t/how-to-turn-a-list-of-tensor-to-tensor/8868/6