昨天跑程序還很溜,今天本打算再進一步,結果。。。服務器歇菜,一直提示CUDA driver version is insufficient for CUDA runtime version
關鍵是服務器一直沒有聯網,怎么會突然就版本不匹配了呢???
針對一天的解決方法查找,目前只有重新下載驅動這個方法還沒嘗試,其他方法對我的問題來說沒有效果,特總結如下,方便你們盡快解決你們的問題。
目前接觸到的解決方法主要有以下四個:
- 確定是否同時開了幾個程序在運行,如果程序共用一塊GPU板卡的話,會導致不能create session。
- 查看顯卡即GPU的占用率,如果占用率太大,可能的原因一個是上次跑完程序顯卡沒有自動釋放內存,也可能是你的程序本身占用內存太大,不管是哪種原因,都可以通過kill 掉進程來釋放內存。 具體命令為:1 nvidia-smi 2 kill -9 PID(這里的PID是通過第一條命令觀察到的正在運行的進程號)
- 需要用GPU的程序中一般會有如下命令:
1 import os 2 os.environ["CUDA_VISIBLE_DEVICES"] = '0,1' # 這里0,1代表我用了兩塊gpu 3 ## 如果你的顯卡只有一塊是可用的,則將這里修改為你能用的號
- 修改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 ,否則需要重啟電腦生效
- 如果上面的方法對你也沒有效果,則可能也需要重新安裝驅動了