pytorch - 在将 GPU 用于 PyTorch 模型时,出现 CUDA 错误:未知错误?
问题描述
我正在尝试使用使用 PyTorch 的预训练模型。将模型加载到 GPU 时,出现以下错误:
Traceback (most recent call last):
File "model\vgg_model.py", line 45, in <module>
vgg_model1 = VGGFeatureExtractor(True).double().to(device)
File "C:\Users\myidi\Anaconda3\envs\openpose\lib\site-packages\torch\nn\modules\module.py", line 386, in to
return self._apply(convert)
File "C:\Users\myidi\Anaconda3\envs\openpose\lib\site-packages\torch\nn\modules\module.py", line 193, in _apply
module._apply(fn)
File "C:\Users\myidi\Anaconda3\envs\openpose\lib\site-packages\torch\nn\modules\module.py", line 193, in _apply
module._apply(fn)
File "C:\Users\myidi\Anaconda3\envs\openpose\lib\site-packages\torch\nn\modules\module.py", line 199, in _apply
param.data = fn(param.data)
File "C:\Users\myidi\Anaconda3\envs\openpose\lib\site-packages\torch\nn\modules\module.py", line 384, in convert
return t.to(device, dtype if t.is_floating_point() else None, non_blocking)
File "C:\Users\myidi\Anaconda3\envs\openpose\lib\site-packages\torch\cuda\__init__.py", line 163, in _lazy_init
torch._C._cuda_init()
RuntimeError: CUDA error: unknown error
我有一台 Windows 10 笔记本电脑、Nvidia 940m GPU、最新的 Pytorch 和 CUDA Toolkit 9.0(也在 10.0 上尝试过)。
我尝试重新安装 GPU 驱动程序,重新启动我的机器,重新安装 PyTorch、Torchvision 和 CUDA Toolkit。
在使用以下命令查看 PyTorch 是否检测到 GPU 时:
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
我得到以下输出:device(type='cuda')
.
可能的问题是什么?我已经尝试过这里提到的解决方案:https ://github.com/pytorch/pytorch/issues/20990 ,问题仍然存在。
我只是把torch.cuda.current_device()
后面,import torch
但问题仍然存在。
解决方案
奇怪的是,这可以通过使用 CUDA Toolkit 10.1 来实现。我不知道为什么最新的不是 PyTorch 网站上他们提供下载库的命令的部分中的默认版本。
使用以下命令安装库:conda install pytorch torchvision cudatoolkit=10.1 -c pytorch
推荐阅读
- visual-studio-code - VSCODE。如何通过单击打开包含变量或 html 标记的文件?
- ios - 在 performDropWith 委托回调中访问源表视图
- c# - 更新(更新回退)具有子实体的实体列表的正确方法?
- php - 使用php将数据infile加载到oracle表中
- python - 通过使用 Python 计算行范围内的元素来创建新列
- python - 在循环中将一个列表的每个元素与第二个列表的四个元素相乘以获得新列表的函数
- drools - Drools 7.x 中“KnowledgeAgentConfiguration”属性的替代品是什么?
- python - 在 django 中从 rest API 运行 Python 脚本
- docker - 基于 Docker 的 graylog 权限
- laravel - 如何延迟每个被推入单个队列的作业