Pytorch(二)Tensors的四种加法方式

加法

先创建 x和y两个5行三列的二维张量

import torch

x = torch.linspace(1, 15, 15).view(5, 3)
y = torch.rand(5, 3)
print(x, y, sep='\n')

tensor([[ 1.,  2.,  3.],
        [ 4.,  5.,  6.],
        [ 7.,  8.,  9.],
        [10., 11., 12.],
        [13., 14., 15.]])
tensor([[0.0228, 0.6401, 0.9500],
        [0.8969, 0.2857, 0.6268],
        [0.3445, 0.6496, 0.0873],
        [0.0726, 0.7710, 0.1559],
        [0.9020, 0.0102, 0.4305]])

加法形式一

print(x + y)

加法形式二

print(torch.add(x, y))

加法形式三 指定输出对象

result = torch.empty(5, 3)
torch.add(x, y, out=result)
print(result)

加法形式四 直接改变y inplace

效果及等同于 y = x + y

y.add_(x)
print(y)

上面四种方法的加法结果都是一样的,如下

tensor([[ 1.0228,  2.6401,  3.9500],
        [ 4.8969,  5.2857,  6.6268],
        [ 7.3445,  8.6496,  9.0873],
        [10.0726, 11.7710, 12.1559],
        [13.9020, 14.0102, 15.4305]])

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐