在GPU上使用Tensorflow出現(xiàn)Cannot assign a device for operation '': Operation was explicitly assigned to /job:ps/task:0/device:GPU:0 but available devices are [ /job:localhost/replica:0/task:0/cpu:0 ]

最近使用GPU跑tensorflow出現(xiàn)了這個(gè)問題:Cannot assign a device for operation ' ': Operation was explicitly assigned to /job:ps/task:0/device:GPU:0 but available devices are [ /job:localhost/replica:0/task:0/cpu:0 ].大致意思就是我們將程序安排在GPU上跑,但是目前可用的設(shè)備僅有CPU!不應(yīng)該啊,安裝的是GPU版本的tensorflow啊,而且也成功的跑了試驗(yàn)程序?。〉降资鞘裁磦€(gè)情況,這時(shí)候最好的辦法就是去查看顯卡顯存的使用情況!

在終端輸入

nvidia-smi
屏幕截圖.png

清楚的發(fā)現(xiàn)并沒有python3.5的程序在使用?。?!
在網(wǎng)上查原因應(yīng)該時(shí)安裝CUDA時(shí)的環(huán)境變量沒配置好(還好之前沒去瞎折騰重裝CUDA),于是又重新配了一下環(huán)境變量:

sudo gedit /etc/profile在最后一行添加:


export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64/:/usr/local/cuda/lib64:$LD_LIBRARY_PATH

export PATH=/usr/local/cuda-8.0/bin:/usr/local/cuda/bin:$PATH

保存后退出,并更新配置

sudo ldconfig

這時(shí)候出現(xiàn)libEGL.so.1 is not a symbolic link的問題......

說明我們的軟鏈接出問題了,需要重新建立連接?。?!解決辦法:


sudo mv /usr/lib/nvidia-375/libEGL.so.1 /usr/lib/nvidia-375/libEGL.so.1.org

sudo mv /usr/lib32/nvidia-375/libEGL.so.1 /usr/lib32/nvidia-375/libEGL.so.1.org

因?yàn)槲冶緳C(jī)的版本是libEGL.so.375.66


sudo ln -s /usr/lib/nvidia-375/libEGL.so.375.66 /usr/lib/nvidia-375/libEGL.so.1

sudo ln -s /usr/lib32/nvidia-375/libEGL.so.375.66 /usr/lib32/nvidia-375/libEGL.so.1

然后重啟一下,大功告成?。?!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容