首页 > 解决方案 > 为什么 Pytorch 需要调用 `torch.cuda.is_available()` 才能运行?

问题描述

这让我感到有些奇怪的行为,我希望有人遇到过类似的情况。

基本上我的应用程序在 Nvidia Docker2 中启动,并显示no CUDA-capable device is detected错误,直到我添加一行torch.cuda.is_available(),然后它神奇地再次开始工作。

我只是设法收集到它不是我可以控制的某种竞争条件,并且调用其他 cuda 运行时命令没有相同的效果。

所以现在我需要在运行我的 pytorch 应用程序之前在某处添加该行,我对为什么感到困惑?

编辑 1: torch.cuda.init() 也有效,所以问题是为什么 torch.cuda.is_available() 有效

标签: pythonpytorchnvidia

解决方案


推荐阅读