pytorch,一个列表里有五个二维张量,怎么把这5个张量拼接成一个三维张量
时间: 2024-12-01 09:06:41 浏览: 4
resnet1d:一维(1D)信号时间序列数据上的多个SOTA骨干深度神经网络(例如ResNet,ResNeXt,RegNet)的PyTorch实现
在PyTorch中,如果你有一个包含多个二维张量的列表,你可以使用`torch.stack()`函数将这些张量垂直堆叠(即沿着新的轴添加到张量的开头)以形成一个三维张量。这里是一个例子[^2]:
```python
# 假设你有5个形状相同的二维张量,如:
example_2D_tensors = [
torch.tensor([[1, 2, 3], [4, 5, 6]]),
torch.tensor([[7, 8, 9], [10, 11, 12]]),
torch.tensor([[13, 14, 15], [16, 17, 18]]),
torch.tensor([[19, 20, 21], [22, 23, 24]]),
torch.tensor([[25, 26, 27], [28, 29, 30]])
]
# 使用torch.stack将它们堆叠成一个三维张量,假设你想在第一个维度(索引为0)上堆叠
stacked_tensor = torch.stack(example_2D_tensors, dim=0)
print(stacked_tensor.shape) # 输出:(5, 2, 3),表示5个(2, 3)的张量
```
这将创建一个新的三维张量,其中第一个维度表示原始张量的数量,其余的维度与单个二维张量相同。
阅读全文