我希望使用pytorch的{{1}}方法将一个shape=(1,2)
张量数组堆叠在shape=(1,2)
上的另一个dim=1
数组之上。
stack()
生成的张量具有附加维,现在具有>>> import numpy as np
>>> import torch
>>> np_a = np.array([[1,2]])
>>> np_b = np.array([[3,4]])
>>> print(np_a)
[[1 2]]
>>> print(np_b)
[[3 4]]
>>> t_a = torch.from_numpy(np_a)
>>> t_b = torch.from_numpy(np_b)
>>> print(t_a)
tensor([[1, 2]])
>>> print(t_b)
tensor([[3, 4]])
>>> t_stacked = torch.stack((t_a, t_b), dim=1)
>>> print(t_stacked)
tensor([[[1, 2],
[3, 4]]])
。 pytorch的{{1}}为什么不像numpy的shape=(1,2,2)
那样表现?见下文:
stack()
如何使pytorch不添加尺寸?
答案 0 :(得分:1)
我无法告诉您为什么决定让pytorch
的{{1}}的行为与numpy不同(也许与luatorch兼容)。无论如何,要获得理想的结果,您可以使用stack
:
torch.cat