PyTorch自动求导阻止脚本终止。

3
每当我调用autograds的backward函数时,我的脚本就无法终止。 backward函数本身并不是阻塞的,它之后的所有代码仍然会被执行,只是脚本不会终止。似乎在后台有一些工作线程挂起,但是我没有找到任何相关信息。我最初在训练神经网络时遇到了这个问题,但是最终发现了一个具有相同行为的非常简短的示例。
import torch

x = torch.randn(3, requires_grad=True)
y = x * 2
print(y)

gradients = torch.tensor([0.1, 1.0, 0.0001], dtype=torch.float)
y.backward(gradients)
print(x.grad)

print("all done")

当我删除backward行时,脚本按预期完成。否则,如果我手动终止任务管理器中的python进程,则脚本执行也会终止。
我使用conda在Windows 7上安装了最新的稳定版本(python 3.7,pytorch 1.2.0)(conda create --name grad_test pytorch -c pytorch)。
1个回答

0

现在它仍然存在,似乎是Windows 7特定问题。


1
相关的 Github 问题:https://github.com/pytorch/pytorch/issues/48888 和 https://github.com/pytorch/pytorch/issues/29383 - Nuclear03020704

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接