Función PyTorch torch.dstack


Pytorch torch 参考手册Manual de referencia de Pytorch torch

torch.dstackEs una función en PyTorch utilizada para apilar tensores en profundidad (a lo largo de la tercera dimensión).

Definición de la función

torch.dstack(tensors, *, out=None)

Ejemplo de uso

Ejemplo

import torch

# Apilamiento en profundidad de tensores bidimensionales
x1 = torch.tensor([[1, 2], [3, 4]])
x2 = torch.tensor([[5, 6], [7, 8]])
result = torch.dstack([x1, x2])
print("Apilamiento en profundidad de tensores bidimensionales:")
print(f"  x1:n{x1}")
print(f"  x2:n{x2}")
print(f"  dstack:n{result}")

# Apilamiento en profundidad de tensores tridimensionales
y1 = torch.tensor([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
y2 = torch.tensor([[[9, 10], [11, 12]], [[13, 14], [15, 16]]])
result = torch.dstack([y1, y2])
print("nApilamiento en profundidad de tensores tridimensionales:")
print(f"  y1:n{y1}")
print(f"  y2:n{y2}")
print(f"  dstack:n{result}")
print(f" dstack forma: {result.shape}")

# Apilamiento en profundidad de tensores unidimensionales
z1 = torch.tensor([1, 2, 3])
z2 = torch.tensor([4, 5, 6])
result = torch.dstack([z1, z2])
print("nApilamiento en profundidad de tensores unidimensionales:")
print(f"  z1: {z1}")
print(f"  z2: {z2}")
print(f"  dstack:n{result}")

El resultado de salida es:

二维张量深度堆叠:
  x1:
tensor([[1, 2],
        [3, 4]])
  x2:
tensor([[5, 6],
        [7, 8]])
  dstack:
tensor([[[ 1,  5],
         [ 2,  6]],

        [[ 3,  7],
         [ 4,  8]]])

三维张量深度堆叠:
  y1:
tensor([[[ 1,  2],
         [ 3,  4]],

        [[ 5,  6],
         [ 7,  8]]])
  y2:
tensor([[[ 9, 10],
         [11, 12]],

        [[13, 14],
         [15, 16]]])
  dstack:
tensor([[[ 1,  2,  9, 10],
         [ 3,  4, 11, 12]],

        [[ 5,  6, 13, 14],
         [ 7,  8, 15, 16]]])
  dstack 形状: torch.Size([2, 2, 4])

一维张量深度堆叠:
  z1: tensor([1, 2, 3])
  z2: tensor([4, 5, 6])
  dstack:
tensor([[1, 4],
        [2, 5],
        [3, 6]])

Pytorch torch 参考手册Manual de referencia de Pytorch torch

Otras extensiones