a = tensor([ [101, 103], [101, 1045] ])b = tensor([ [101, 777, 227], [101, 888, 228] ])
如何从a和b得到这个张量c:
c = a + b = tensor([ [101, 103, 0], [101, 1045, 0], [101, 777, 227], [101, 888, 228] ])
我尝试使用c = torch.cat((a, b), dim=0)但不起作用。
回答:
一般来说,你可以尝试将第一个张量填充到与另一个张量相同的大小。对于这个问题,你可以按以下方式操作:
import torchimport torch.nn.functional as Fa = torch.tensor([ [101, 103], [101, 1045]])b = torch.tensor([ [101, 777, 227], [101, 888, 228]])a = F.pad(a, pad=(0, b.size()[1] - a.size()[1], 0, b.size()[0] - a.size()[0]), value=0)print(a)
这将用零扩展a
张量的第一和第二维度,以匹配b
张量。
然后你可以将它们连接起来:
c = torch.cat((a, b), dim=0)