RuntimeError: CUDA unknown error - this may be due to an incorrectly set up environment, e.g. changi

最近在训练网络模型时,出现以下错误:

/home/xw/anaconda3/envs/openmmlab/lib/python3.7/site-packages/torch/cuda/__init__.py:52: UserWarning: CUDA initialization: CUDA unknown error - this may be due to an incorrectly set up environment, e.g. changing env variable CUDA_VISIBLE_DEVICES after program start. Setting the available devices to be zero. (Triggered internally at  /opt/conda/conda-bld/pytorch_1623448265233/work/c10/cuda/CUDAFunctions.cpp:115.)
  return torch._C._cuda_getDeviceCount() > 0
No CUDA runtime is found, using CUDA_HOME='/usr/local/cuda-11.1'
Traceback (most recent call last):
  File "configs/trainval/tinaface/test_widerface.py", line 132, in <module>
    main()
  File "configs/trainval/tinaface/test_widerface.py", line 125, in main
    engine, data_loader = prepare(cfg, args.checkpoint,args.device)
  File "configs/trainval/tinaface/test_widerface.py", line 77, in prepare
    device = torch.cuda.current_device()
  File "/home/xw/anaconda3/envs/openmmlab/lib/python3.7/site-packages/torch/cuda/__init__.py", line 432, in current_device
    _lazy_init()
  File "/home/xw/anaconda3/envs/openmmlab/lib/python3.7/site-packages/torch/cuda/__init__.py", line 172, in _lazy_init
    torch._C._cuda_init()
RuntimeError: CUDA unknown error - this may be due to an incorrectly set up environment, e.g. changing env variable CUDA_VISIBLE_DEVICES after program start. Setting the available devices to be zero.

检查显卡驱动nvcc -V

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2020 NVIDIA Corporation
Built on Tue_Sep_15_19:10:02_PDT_2020
Cuda compilation tools, release 11.1, V11.1.74
Build cuda_11.1.TC455_06.29069683_0

查看显卡:watch nvidia-smi

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.103.01   Driver Version: 470.103.01   CUDA Version: 11.4     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:19:00.0 Off |                  N/A |
|  0%   57C    P8    26W / 370W |     11MiB / 10018MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   1  NVIDIA GeForce ...  Off  | 00000000:1A:00.0 Off |                  N/A |
|  0%   57C    P8    25W / 370W |     11MiB / 10018MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   2  NVIDIA GeForce ...  Off  | 00000000:67:00.0 Off |                  N/A |
|  0%   84C    P2   275W / 370W |   9381MiB / 10018MiB |     96%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   3  NVIDIA GeForce ...  Off  | 00000000:68:00.0 Off |                  N/A |
|  0%   83C    P2   282W / 370W |   7904MiB / 10015MiB |     97%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------

运行:print(torch.cuda.is_available())
报错如下:

Traceback (most recent call last):
              File "<stdin>", line 1, in <module>
              File "/home/kumar/anaconda3/envs/pytorch/lib/python3.8/site-packages/torch/cuda/__init__.py", line 430, in current_device
                _lazy_init()
              File "/home/kumar/anaconda3/envs/pytorch/lib/python3.8/site-packages/torch/cuda/__init__.py", line 170, in _lazy_init
                torch._C._cuda_init()
            RuntimeError: CUDA unknown error - this may be due to an incorrectly set up environment, e.g. changing env variable CUDA_VISIBLE_DEVICES after program start. Setting the available devices to be zero.

解决方案:

apt-get install nvidia-modprobe 

一分钟秒解决

  • 11
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
这个错误通常表示在设置 CUDA_VISIBLE_DEVICES 环境变量后,程序尝试在没有可用 GPU 设备的情况下运行。这可能是由于以下原因之一引起的: 1. 没有正确安装 CUDA 驱动程序:请确保您已正确安装了与您的 GPU 相匹配的 CUDA 驱动程序。您可以从 NVIDIA 官方网站下载并安装适合您 GPU 的最新驱动程序。 2. CUDA 版本与 PyTorch 版本不兼容:请确保您安装的 PyTorch 版本与您的 CUDA 版本兼容。可以查看 PyTorch 官方文档中的兼容性矩阵来确定适用于您 CUDA 版本的 PyTorch 版本。 3. 硬件问题:如果您的电脑或服务器上没有可用的 GPU 设备,那么您将无法在 GPU 上运行程序。请确保您的硬件配置中包含适用于深度学习的 GPU 设备。 为了解决这个问题,您可以尝试以下几种方法: 1. 确保您已正确安装了相应的 CUDA 驱动程序,并且版本与 PyTorch 兼容。 2. 检查 CUDA_VISIBLE_DEVICES 环境变量的设置。如果您手动设置了这个变量,请确保设置正确,并且在程序启动之前进行设置。 3. 如果您没有可用的 GPU 设备,可以将程序切换到 CPU 运行模式。您可以在程序中添加以下代码,将 PyTorch 强制使用 CPU: ```python import os os.environ["CUDA_VISIBLE_DEVICES"] = "-1" ``` 这将禁用所有可用的 GPU 设备,并将计算转移到 CPU 上。 如果您尝试了以上方法仍然无法解决问题,可能需要进一步检查您的环境设置、硬件配置或安装过程中的任何错误。 希望这些信息对您有所帮助。如果您有其他问题,请随时向我提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值