failed call to cuInit: CUDA_ERROR_NO_DEVICE: no CUDA-capable device is detected 排坑指南
2024-10-10 12:19:50
训练maskrcnn时,出现了
failed call to cuInit: CUDA_ERROR_NO_DEVICE: no CUDA-capable device is detected
一开始以为是自己没有把cuda安装好,在排查安装问题,发现没有问题后重启电脑,运行
import tensorflow as tf
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
这个是测试代码,可以查看GPU是否能正常运行
重启电脑后的第一次GPU是可以正常运行的,说明GPU的配置是没有问题的
但是当再一次运行要调用GPU的程序时,会报错
failed call to cuInit: CUDA_ERROR_NO_DEVICE: no CUDA-capable device is detected
这就有点奇怪了,刚开始以为是程序停止了但GPU还被占用,于是用nvidia-smi查看了一下,发现报错
Unable to determine the device handle for GPU 0000:01:00.0: GPU is lost. Reboot the system to recover this GPU
GPU已经丢失了。。。需要重启。。。重启之后GPU又可以使用,但用GPU一次以后又会出现该问题
经过百度和google发现大概是因为显存占用过高,导致GPU 离线,通过降低batch_size可能可以解决问题。可以考虑从减少训练过程显存占用这个方面入手,修改部分模型训练参数,有待实验
至此问题并未解决,从根本解决问题后会及时更新
最新文章
- 史上最详细git教程
- Turing Tree_线段树&;树状数组
- 【转】提高VR渲染速度的最好方法(经典转载)
- 《TCP/IP 详解 卷一》读书笔记-----Ping&;Traceroute
- ios ASIHttpLib 同步请求和异步请求
- 大数据时代下的用户洞察:用户画像建立(ppt版)
- Windows Azure 的磁盘管理相关概念
- openSource clouds
- mysql数据备份和还原命令
- android jar 第三方包
- Gson使用初探
- c语言中重要函数
- 【课程分享】基于plusgantt的项目管理系统实战开发(Spring3+JDBC+RMI的架构、自己定义工作流)
- Java综合题目
- switch处理多分支结构
- 设计一个有getMin功能的栈(1)
- HDU--2018
- hdu多校1002 Balanced Sequence
- PetaPoco与MySQL
- jquery序列化from表单使用ajax提交返回json数据(使用struts2注解result type = json)