1. Épissage tenseur, épissage d'expansion dimensionnelle et expansion dimensionnelle
1.1 torch.cat
Dans PyTorch, vous pouvez utiliser torch.cat
la fonction pour effectuer des opérations d'épissage de tableau. torch.cat peut assembler deux tenseurs ou plus, et les dimensions d'épissage peuvent être spécifiées. Par exemple, en supposant que nous ayons deux tenseurs de taille (3, 4) et (3, 5), nous pouvons les concaténer dans la deuxième dimension avec le code suivant :
import torch
a = torch.randn(3, 4)
b = torch.randn(3, 5)
c = torch.cat([a, b], dim=1)
print(c.shape)
Le résultat est :
torch.Size([3, 9])
1.2 torche.stack
torch.stack
La fonction peut concaténer plusieurs tenseurs le long de la dimension nouvellement créée, par exemple :
import torch
a = torch.randn(3, 4)
b = torch.randn(3, 4)
c = torch.stack([a, b], dim=0)
print(c.shape)
Le résultat est :
torch.Size([2, 3, 4])
1.3 torche.unsqueeze
Si vous souhaitez étendre un tenseur à une nouvelle dimension, vous pouvez utiliser torch.unsqueeze
la fonction, par exemple :
import torch
a = torch.randn(3, 4)
b = torch.unsqueeze(a, dim=0)
print(b.shape)
Le résultat est :
torch.Size([1, 3, 4])
2 Épissage de tableau, épissage d'expansion de dimension et expansion de dimension
2.1 np.concaténer
Dans NumPy, vous pouvez utiliser np.concatenate
la fonction pour effectuer des opérations d'épissage de tableau. np.concatenate
Deux ou plusieurs tableaux peuvent être concaténés ensemble et les dimensions de la concaténation peuvent être spécifiées. Par exemple, en supposant que nous ayons deux tableaux de size (3, 4)
et (3, 5)
, nous pouvons les concaténer dans la deuxième dimension avec le code suivant :
import numpy as np
a = np.random.randn(3, 4)
b = np.random.randn(3, 5)
c = np.concatenate([a, b], axis=1)
print(c.shape)
Le résultat est :
(3, 9)
2.2 np.stack
np.stack
La fonction peut concaténer plusieurs tableaux le long de la dimension nouvellement créée, par exemple :
import numpy as np
a = np.random.randn(3, 4)
b = np.random.randn(3, 4)
c = np.stack([a, b], axis=0)
print(c.shape)
Le résultat est :
(2, 3, 4)
2.3 np.newaxis
Si vous souhaitez étendre un tableau à une nouvelle dimension, vous pouvez utiliser np.newaxis
la fonction, par exemple :
import numpy as np
a = np.random.randn(3, 4)
b = a[np.newaxis, ...]
print(b.shape)
Le résultat est :
(1, 3, 4)