tensorflow——failed to create session

昨天跑程序还很溜,今天本打算再进一步,结果。。。服务器歇菜,一直提示CUDA driver version is insufficient for CUDA runtime version

关键是服务器一直没有联网,怎么会突然就版本不匹配了呢???

针对一天的解决方法查找,目前只有重新下载驱动这个方法还没尝试,其他方法对我的问题来说没有效果,特总结如下,方便你们尽快解决你们的问题。

目前接触到的解决方法主要有以下四个:

  1. 确定是否同时开了几个程序在运行,如果程序共用一块GPU板卡的话,会导致不能create session。
  2. 查看显卡即GPU的占用率,如果占用率太大,可能的原因一个是上次跑完程序显卡没有自动释放内存,也可能是你的程序本身占用内存太大,不管是哪种原因,都可以通过kill 掉进程来释放内存。                                                                                                     具体命令为:1 nvidia-smi  2 kill -9 PID(这里的PID是通过第一条命令观察到的正在运行的进程号)
  3. 需要用GPU的程序中一般会有如下命令:
    1 import os
    2 os.environ["CUDA_VISIBLE_DEVICES"] = '0,1' # 这里0,1代表我用了两块gpu
    3 ## 如果你的显卡只有一块是可用的,则将这里修改为你能用的号
  4. 修改bashrc,将可用的GPU序号写到bashrc文件中,具体方法为:
    1 vi .bashrc
    2 (打开bashrc文件后,在最后写上下面的两句[如果是正常打开,应该像一个文档一样])
    3 # added by tensorflow
    4 export CUDA_VISIBLE_DEVICES="0"
    5 按电脑上的esc键之后,再输入:wq  此时的输入相当于在命令行输入,作用为保存文件并退出vi
    6 退出vi之后,如果想让刚保存的文件生效,则终端输入 source .bashrc ,否则需要重启电脑生效
  5. 如果上面的方法对你也没有效果,则可能也需要重新安装驱动了

猜你喜欢

转载自www.cnblogs.com/zwp-28/p/11830988.html