广播机制简单地说就是当两个tensor形状不同时也能进行element wise的运算,如加减乘除。但是需要满足一定的条件。(Tensor参数可以自动扩展为相等大小,无需复制数据)
条件:从shape的最后一维往前迭代,满足纬度长度相等或其中一个为1或者纬度缺失,则视为匹配,并会在相应的纬度上进行扩充,但只是浅拷贝。(纬度个数可以不一致)
即从后往前纬度的长度相等或为1
# 纬度一致
x = torch.arange(24).reshape(2,3,4)
y = torch.ones(2,1,4) # 纬度长度相等或为1
print((x+y).shape)
# 纬度不一致
y = torch.ones(3,1) # 从后往前纬度长度相等或为1
print((x+y).shape)