gpt4 book ai didi

python - 如何有效地计算 Pytorch 中的张量?

转载 作者:太空狗 更新时间:2023-10-30 02:36:30 24 4
gpt4 key购买 nike

我有一个张量 xx.shape=(batch_size,10),现在我想取

 x[i][0] = x[i][0]*x[i][1]*...*x[i][9] for i in range(batch_size)

这是我的代码:

for i in range(batch_size):
for k in range(1, 10):
x[i][0] = x[i][0] * x[i][k]

但是当我在forward()中实现并调用loss.backward()时,反向传播的速度很慢。为什么会慢,有什么方法可以高效实现吗?

最佳答案

它很慢,因为你使用了两个 for 循环。

您可以使用 .prod 请参阅:https://pytorch.org/docs/stable/torch.html#torch.prod

在你的情况下,

x = torch.prod(x, dim=1)x = x.prod(dim=1)

应该可以

关于python - 如何有效地计算 Pytorch 中的张量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53699675/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com