训练maskrcnn时,出现了测试
failed call to cuInit: CUDA_ERROR_NO_DEVICE: no CUDA-capable device is detected
一开始觉得是本身没有把cuda安装好,在排查安装问题,发现没有问题后重启电脑,运行this
import tensorflow as tf sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
这个是测试代码,能够查看GPU是否能正常运行google
重启电脑后的第一次GPU是能够正常运行的,说明GPU的配置是没有问题的spa
可是当再一次运行要调用GPU的程序时,会报错code
failed call to cuInit: CUDA_ERROR_NO_DEVICE: no CUDA-capable device is detected
这就有点奇怪了,刚开始觉得是程序中止了但GPU还被占用,因而用nvidia-smi查看了一下,发现报错blog
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可能能够解决问题。能够考虑从减小训练过程显存占用这个方面入手,修改部分模型训练参数,有待实验

至此问题并未解决,从根本解决问题后会及时更新it