我有两个电筒触须。一个是有形状的 [64, 4, 300]
形状的一个 [64, 300]
. 如何将这两个张量相加,得到形状的结果张量?[64, 5, 300]
. 我知道 tensor.cat
函数,但为了使用该函数,我需要重塑第二个张量,以匹配张量的维数。我听说不应该对张量进行重塑,因为这可能会弄乱张量中的数据。如何进行这种连通?
我已经尝试过重塑,但下面的部分让我对这种重塑更加怀疑。
a = torch.rand(64,300)
a1 = a.reshape(64,1,300)
list(a1[0]) == list(a)
Out[32]: False
你必须使用 torch.cat
沿着第一维度,做 unsqueeze
在第一个也是,像这样。
import torch
first = torch.randn(64, 4, 300)
second = torch.randn(64, 300)
torch.cat((first, second.unsqueeze(dim=1)), dim=1)
# Shape: [64, 5, 300]
它不会弄乱你的数据,它只是增加了表面上的数据。1
维度 (reshape
不,如果做正确的反正)。)