每当我调用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的进程,如果我手动终止它,脚本的执行也会终止。
我在Windows7上使用conda (conda create --name grad_test pytorch -c pytorch)在最新的稳定版本(python3.7,pytorch1.2.0)中安装了pytorch。
发布于 2020-06-25 03:45:52
它现在仍然存在,似乎是Windows7特有的问题。
https://stackoverflow.com/questions/57857690
复制相似问题