在PyTorch中原地添加多个渐变子。

问题描述 投票:0回答:1

我可以加两个时序 xy 就地

x = x.add(y)

有什么方法可以在三个或更多的时点上做同样的事情,因为所有的时点都有相同的尺寸?

pytorch tensor
1个回答
1
投票
result = torch.sum(torch.stack([x, y, ...]), dim=0)

没有堆栈。

from functools import reduce

result = reduce(torch.add, [x, y, ...])

1
投票

这些操作在原地发生有多重要?

我相信唯一能在原地做加法的方法是使用 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
© www.soinside.com 2019 - 2024. All rights reserved.