python - 为什么 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() 有效
解决方案
推荐阅读
- python - 使用 xlsxwriter 仅格式化带有数据的标题
- python - 如何在不知道位置的情况下在某个点拆分字符串。在蟒蛇
- amazon-web-services - 如果缺少 s 标签值,则不允许用户创建任何 ec2 实例
- rust - 使用带有字符串 url 的 std::net::UdpSocket
- jsx - After Effects 从 JSX 更改表达式变量
- vue.js - vue 2 @click 处理程序未按预期工作
- shell - 为多个输入参数文件调用 jar 的 Cron 作业
- php - Composer 使用 OR 运算符更新包到特定版本
- c# - 如何从带有连接表的数据库动态创建 WPF 窗口?
- sql-server - 在一个数据库中检查约束失败