AssertionError: CUDA unavailable, invalid device 0 requested

1、查看报错

Traceback (most recent call last):
  File "train.py", line 651, in <module>
    device = select_device(opt.device, batch_size=opt.batch_size)
  File "/home/camila/test/xxx/utils/torch_utils.py", line 71, in select_device
    assert torch.cuda.is_available(), f'CUDA unavailable, invalid device {device} requested'  # check availability
AssertionError: CUDA unavailable, invalid device 0 requested

cuda不可用报错,现实没有有效的驱动可使用

2、解决方案

1、测试cuda是否配置正确
1)在终端输入
python3
>>import torch
>>print(torch.cuda.is_available())

AssertionError: CUDA unavailable, invalid device 0 requested_第1张图片

运行后输出的是False,说明cuda有问题。

2)需要重新安装(安装对应的版本)
可进pytorch官网:https://pytorch.org/ 下载

pip3 install torch == 1.9.0+cu111 torchvision == 0.10.0+cu111 torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html

再次运行1)中步骤,若运行后输出的是True,说明cuda已经正常安装。

AssertionError: CUDA unavailable, invalid device 0 requested_第2张图片

3)后记:
若运行后输出的是True,仍然报错“AssertionError: CUDA unavailable, invalid device 0 requested”,就打开报错的程序,在主程序里面加入这句:

print(torch.cuda.is_available())

然后把device改成cuda,默认是cuda0。
运行,问题得以解决。

你可能感兴趣的:(pytorch框架,ubuntu系统,深度学习,cuda,pytorch)