pytorch维度不同的张量(tensor)相加规则

规律1:如果相加的两个张量维度不一致,那么首先把维度低的那个张量从右边和维度高的张量对齐

a = torch.ones([8, 4, 5, 6])
print('a =',a.size())
b = torch.ones([5, 6])
print('b =',b.size())
c = a+b
print('c =',c.size())

规律2:当两个张量维度相同时,对应轴的值需要一样,或者为1。

  1. 由于对应的每个轴要么相等,要么一方是1,因此可以相加。否则不可以相加。
    a = torch.ones([8, 4, 5, 6])
    b = torch.ones([1, 1, 5, 6])
    c = a+b
    

  2. 一方维度全是1,可以相加
    a = torch.ones([8, 4, 5, 6])
    print('a =',a.size())
    b = torch.ones([1, 1, 1, 1])
    print('b =',b.size())
    c = a+b
    print('c =',c.size())
    

  3. 维度完全相等,可以相加

a = torch.ones([8, 4, 5, 6])
print('a =',a.size())
b = torch.ones([8, 4, 5, 6])
print('b =',b.size())
c = a+b
print('c =',c.size())

 pytorch维度不同的张量(tensor)相加规则_第1张图片

 

你可能感兴趣的:(python,python,张量)