Fonction torch.dsplit de PyTorch


Pytorch torch 参考手册Manuel de référence Pytorch torch

torch.dsplitIl s'agit d'une fonction de PyTorch utilisée pour diviser un tenseur selon la profondeur (troisième dimension).

Définition de fonction

torch.dsplit(input, indices_or_sections)

Exemple d'utilisation

Exemple

import torch

# Diviser un tenseur 3D selon la dimension de profondeur
x = torch.arange(24).reshape(2, 3, 4)
print("Tenseur 3D original :")
print(x)

result = torch.dsplit(x, 2)
print("Divisé en 2 parties selon la profondeur :")
for i, t in enumerate(result):
    print(f" Bloc {i}:n{t}")

# Diviser par indices
result = torch.dsplit(x, [1, 3])
print("nDiviser par indices [1, 3] :")
for i, t in enumerate(result):
    print(f" Bloc {i}:n{t}")

# Diviser un tenseur 4D le long de la dimension de profondeur
y = torch.arange(32).reshape(2, 2, 4, 2)
print("n4D forme du tenseur :", y.shape)

result = torch.dsplit(y, 2)
print("Diviser en 2 parties le long de la troisième dimension :")
for i, t in enumerate(result):
    print(f" Bloc {i} forme : {t.shape}")

Le résultat de sortie est:

原始三维张量:
tensor([[[ 0,  1,  2,  3],
         [ 4,  5,  6,  7],
         [ 8,  9, 10, 11]],

        [[12, 13, 14, 15],
         [16, 17, 18, 19],
         [20, 21, 22, 23]]])
沿深度分为 2 份:
  块 0:
tensor([[[ 0,  1],
         [ 4,  5],
         [ 8,  9]],

        [[12, 13],
         [16, 17],
         [20, 21]]])
  Chunk 1:
tensor([[[ 2,  3],
         [ 6,  7],
         [10, 11]],

        [[14, 15],
         [18, 19],
         [22, 23]]])

按索引 [1, 3] 分割:
  块 0:
tensor([[[ 0],
         [ 4],
         [ 8]],

        [[12],
         [16],
         [20]]])
  Chunk 1:
tensor([[[ 1,  2],
         [ 5,  6],
         [ 9, 10]],

        [[13, 14],
         [17, 18],
         [21, 22]]])
  Chunk 2:
tensor([[[ 3],
         [ 7],
         [11]],

        [[15],
         [19],
         [23]]])

四维张量形状: torch.Size([2, 2, 4, 2])
沿第三维分为 2 份:
  块 0 形状: torch.Size([2, 2, 2, 2])
  Chunk 1 形状: torch.Size([2, 2, 2, 2])

Pytorch torch 参考手册Manuel de référence Pytorch torch

Autres extensions