两者的区别通过一个测试显而易见:
a=[1,2,3]
b=[4,5]
gridx,gridy=np.meshgrid(a,b)
print('gridx=\n',gridx)
print('gridy=\n',gridy)
x=torch.tensor(a)
y=torch.tensor(b)
gridx, gridy =torch.meshgrid(x,y)
print('gridx=\n', gridx)
print('gridy=\n', gridy)
输出结果:
gridx=
[[1 2 3]
[1 2 3]]
gridy=
[[4 4 4]
[5 5 5]]
gridx=
tensor([[1, 1],
[2, 2],
[3, 3]])
gridy=
tensor([[4, 5],
[4, 5],
[4, 5]])
np.meshgrid(a,b)是按a作为x轴信息,b为y轴信息;而torch.meshgrid(x,y)是按输入x作为y轴信息,输入y作为x轴信息.我想这样做主要原因是torch主要是用于深度学习中图像处理处理