python - pytorch autograd 阻止脚本终止

标签 python pytorch autograd

每当我调用 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,如果我手动终止它,脚本执行也会终止。

我在最新的稳定版本(python 3.7,pytorch 1.2.0)中使用 conda(conda create --name grad_test pytorch -c pytorch)在 Windows 7 上安装了 pytorch。

最佳答案

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

关于python - pytorch autograd 阻止脚本终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57857690/

相关文章:

python - 如何在Python中将字符串日期列表转换为日期时间

image-processing - 如何获取 CNN 中的输入和输出 channel ?

python - 属性错误: 'ReduceLROnPlateau' object has no attribute _cmp

python - 损失函数中的所有变量都必须是 pytorch 中带有 grads 的张量吗?

python - Python 的 super() 如何处理多重继承?

javascript - 在 raiseevent() 方法中存储 HTML 对象(div 元素) -胡椒机器人

Python Tkinter返回csv文件目录

pytorch - 获取 PyTorch 张量的数据类型

python - 使用 PyTorch 进行就地操作

python - pytorch 模型上的最小 hvp 出现问题