Tensor a:
tensor([[1, 2, 3],
[1, 2, 3],
[1, 2, 3],
[1, 2, 3]])
张量 b:
tensor([4,4,4,4])
问题1:
如何合并两个张量并得到结果 c:
tensor([[1, 2, 3, 4],
[1, 2, 3, 4],
[1, 2, 3, 4],
[1, 2, 3, 4]])
问题2:如何除以张量c并得到原始a和b。
问题 1:合并两个张量 -
torch.cat((a, b.unsqueeze(1)), 1)
>>> tensor([[1, 2, 3, 4],
[1, 2, 3, 4],
[1, 2, 3, 4],
[1, 2, 3, 4]])
首先,我们使用torch.unsqueeze在张量中添加单个dimb
以匹配a
dim为concanate。然后使用 torch.cat 连接张量a
和b
。
问题2:
a = c[:][:,:-1]
a
>>> tensor([[1, 2, 3],
[1, 2, 3],
[1, 2, 3],
[1, 2, 3]])
b = c[:][:,-1:].squeeze(1)
b
>>> tensor([4, 4, 4, 4])
你必须稍微修改张量 b:
a = torch.tensor([[1, 2, 3],
[1, 2, 3],
[1, 2, 3],
[1, 2, 3]])
b = torch.tensor([4,4,4,4])
b = b.reshape(1, 4)
然后你得到你的"连接"张量:
c = torch.cat((a, torch.t(b)), 1)
向后:
a1 = c[:,:-1]
b1 = torch.t(c[:,-1:])