
# 日志提示"No CUDA-capable device is detected"
#### 问题现象
在程序运行过程中，出现如下类似错误。
```
1.‘failed call to cuInit: CUDA_ERROR_NO_DEVICE:  no CUDA-capable device is detected’
2.‘No CUDA-capable device is detected although requirements are installed’
```
#### 原因分析
出现该问题的可能原因如下：
- 用户/训练系统，将CUDA_VISIBLE_DEVICES传错了，检查CUDA_VISIBLE_DEVICES变量是否正常。
- 用户选择了1/2/4卡这些规格的作业，然后设置了CUDA_VISIBLE_DEVICES='1'这种类似固定的卡ID号，与实际选择的卡ID不匹配。
 
#### 处理方法
1. 尽量代码里不要去修改CUDA_VISIBLE_DEVICES变量，用系统默认里面自带的。
2. 如果必须指定卡ID，需要注意1/2/4规格下，指定的卡ID与实际分配的卡ID不匹配的情况。
3. 如果上述方法还出现了错误，可以去notebook里面调试打印CUDA_VISIBLE_DEVICES变量，或者用以下代码测试，查看结果是否返回的是True。
   ```
   import torch
   torch.cuda.is_available()
   ```
   
 
#### 建议与总结
在创建训练作业前，推荐您先使用ModelArts开发环境调试训练代码，避免代码迁移过程中的错误。
- 直接使用线上notebook环境调试请参考[使用JupyterLab开发模型](https://support.huaweicloud.com/devtool-modelarts/devtool-modelarts_0012.html)。
- 配置本地IDE（Pycharm或者VSCode）连接云上环境调试请参考[使用本地IDE开发模型](https://support.huaweicloud.com/devtool-modelarts/devtool-modelarts_0019.html)。
 
