torch.stack() 指定维度拼接,会增加一个新维度
torch.cat() 指定维度拼接,在该维度上合并,如 两个1 合并为 2
import torch
x = torch.arange(4)
x2 = torch.arange(3,7)
print(x,x2)
"""
tensor([0, 1, 2, 3]) tensor([3, 4, 5, 6])
"""
axes1,axes2 =torch.meshgrid(x,x2)#输入为一维序列,输出两个二维网格,常用来生成坐标
print(axes1.shape,axes2.shape)
"torch.Size([4, 4]) torch.Size([4, 4])"
print(axes1,axes2)
"""
tensor([[0, 0, 0, 0],
[1, 1, 1, 1],
[2, 2, 2, 2],
[3, 3, 3, 3]]) tensor([[3, 4, 5, 6],
[3, 4, 5, 6],
[3, 4, 5, 6],
[3, 4, 5, 6]])
"""
torch.stack((axes1,axes2))#按照某个维度拼接,输入序列shape必须一致,默认按照dim0
"""
shape:[2,4,4]
tensor([[[0, 0, 0, 0],
[1, 1, 1, 1],
[2, 2, 2, 2],
[3, 3, 3, 3]],
[[3, 4, 5, 6],
[3, 4, 5, 6],
[3, 4, 5, 6],
[3, 4, 5, 6]]])
"""