PyTorch torch.row_stack 関数


Pytorch torch 参考手册Pytorch torch リファレンスマニュアル

torch.row_stackPyTorch でテンソルを行方向にスタックするための関数で、垂直スタックに相当します。

関数定義

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

使用例

例

import torch

# 1次元テンソルの行スタック
x1 = torch.tensor([1, 2, 3])
x2 = torch.tensor([4, 5, 6])
result = torch.row_stack([x1, x2])
print("1次元テンソルの行スタック:")
print(f"  x1: {x1}")
print(f"  x2: {x2}")
print(f"  row_stack:n{result}")

# 2次元テンソルの行スタック
y1 = torch.tensor([[1, 2, 3]])
y2 = torch.tensor([[4, 5, 6]])
result = torch.row_stack([y1, y2])
print("n2次元テンソルの行スタック:")
print(f"  y1:n{y1}")
print(f"  y2:n{y2}")
print(f"  row_stack:n{result}")

# vstack と同等
z1 = torch.tensor([1, 2, 3])
z2 = torch.tensor([4, 5, 6])
result_vstack = torch.vstack([z1, z2])
result_row_stack = torch.row_stack([z1, z2])
print("nrow_stack は vstack と同等:")
print(f"  vstack: {result_vstack.tolist()}")
print(f"  row_stack: {result_row_stack.tolist()}")

出力結果は:

一维张量行堆叠:
  x1: tensor([1, 2, 3])
  x2: tensor([4, 5, 6])
  row_stack:
tensor([[1, 2, 3],
        [4, 5, 6]])

二维张量行堆叠:
  y1:
tensor([[1, 2, 3]])
  y2:
tensor([[4, 5, 6]])
  row_stack:
tensor([[1, 2, 3],
        [4, 5, 6]])

row_stack 等价于 vstack:
  vstack: [[1, 2, 3], [4, 5, 6]]
  row_stack: [[1, 2, 3], [4, 5, 6]]

Pytorch torch 参考手册Pytorch torch リファレンスマニュアル

その他の拡張