PyTorch torch.dstack Function


Pytorch torch 参考手册Pytorch torch Reference Manual

torch.dstackThis is a function in PyTorch used for stacking tensors along the depth (third dimension).

Function Definition

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

Usage Example

Example

import torch

# Depth stacking of 2D tensors
x1 = torch.tensor([[1, 2], [3, 4]])
x2 = torch.tensor([[5, 6], [7, 8]])
result = torch.dstack([x1, x2])
print("2D tensor depth stacking:")
print(f"  x1:n{x1}")
print(f"  x2:n{x2}")
print(f"  dstack:n{result}")

# Depth stacking of 3D tensors
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("n3D tensor depth stacking:")
print(f"  y1:n{y1}")
print(f"  y2:n{y2}")
print(f"  dstack:n{result}")
print(f" dstack shape: {result.shape}")

# Depth stacking of 1D tensors
z1 = torch.tensor([1, 2, 3])
z2 = torch.tensor([4, 5, 6])
result = torch.dstack([z1, z2])
print("n1D tensor depth stacking:")
print(f"  z1: {z1}")
print(f"  z2: {z2}")
print(f"  dstack:n{result}")

Output result:

二维张量深度堆叠:
  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 参考手册Pytorch torch Reference Manual

Other Extensions