我可以加两个时序 x
和 y
就地
x = x.add(y)
有什么方法可以在三个或更多的时点上做同样的事情,因为所有的时点都有相同的尺寸?
result = torch.sum(torch.stack([x, y, ...]), dim=0)
没有堆栈。
from functools import reduce
result = reduce(torch.add, [x, y, ...])
这些操作在原地发生有多重要?
我相信唯一能在原地做加法的方法是使用 add_
功能。
例如:
a = torch.randn(5)
b = torch.randn(5)
c = torch.randn(5)
d = torch.randn(5)
a.add_(b).add_(c).add_(d) # in place addition of a+b+c+d