欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解tensorflow2.x版本無法調(diào)用gpu的一種解決方法

 更新時(shí)間:2020年05月25日 09:40:01   作者:scrence  
這篇文章主要介紹了詳解tensorflow2.x版本無法調(diào)用gpu的一種解決方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

最近學(xué)校給了一個(gè)服務(wù)器賬號(hào)用來訓(xùn)練神經(jīng)網(wǎng)絡(luò)使用,服務(wù)器本身配置是十路titan V,然后在上面裝了tensorflow2.2,對(duì)應(yīng)的python版本是3.6.2,裝好之后用tf.test.is_gpu_available()查看是否能調(diào)用gpu,結(jié)果返回結(jié)果是false,具體如下:


這里tensorflow應(yīng)該是檢測(cè)出了gpu,但是因?yàn)槟承鞜o法打開而導(dǎo)致tensorflow無法調(diào)用,返回了false,詳細(xì)查看錯(cuò)誤信息可以看到一行:


可以看到上面幾個(gè)文件都順利打開了,但是最后一個(gè)libcudnn.so.7文件顯示無法打開,not such file or directory。懷疑是cuda有問題,服務(wù)器本身是裝的cuda10.1,跟tensorflow2.2應(yīng)該是吻合的,但是一直無法調(diào)用,所以一開始我想重新安裝cuda,覆蓋掉服務(wù)器本來的cuda,下好安裝包之后,因?yàn)槲也皇枪芾韱T,沒有root權(quán)限,所以總是失敗。但是安裝過程中了解到系統(tǒng)的cuda安裝目錄,位于/usr/local/cuda下面,這個(gè)libcudnn.so.7應(yīng)該是一個(gè)庫文件,那應(yīng)該放在cuda的安裝目錄下面,具體地,在/usr/local/cuda/lib64下面,之前在我的windows本地機(jī)器安裝cuda時(shí)還要下載cudnn7.x,然后把文件拷貝到cuda對(duì)應(yīng)的目錄下面,我懷疑lib64目錄下面的這個(gè)libcudnn.so.7文件有問題,因?yàn)樵趌inux版本的cudnn中是可以看到libcudnn.so.7這個(gè)文件的。
于是,打開lib64目錄,查找是否有l(wèi)ibcudnn.so.7這個(gè)文件,結(jié)果是沒有找到這個(gè)文件,這就很奇怪了,cuda10.1目錄下面竟然沒有cudnn的文件,我也沒有權(quán)限修改/usr/local,因此想到既然是少了這個(gè)文件,那是不是把對(duì)應(yīng)的文件加載在別的目錄下,引導(dǎo)tensorflow去另一個(gè)我可以操作的目錄下找這個(gè)libcudnn.so.7文件,就可以解決問題呢?我?guī)е囼?yàn)性的心態(tài)wget下載cudnn,結(jié)果在命令行下無法下載cudnn,原因是cudnn下載需要登錄,而在命令行下就沒辦法下載。于是在本地機(jī)器上下載了linux版的cudnn,然后用scp命令把這個(gè)tar.gz文件發(fā)到服務(wù)器上,解壓出來可以看到~/cudnn/cuda/lib64下面有l(wèi)ibcudnn.so.7。接下來就是添加環(huán)境變量,讓tensorflow不僅在/usr/local/cuda/lib64下找文件,還可以在我這個(gè)目錄下找,添加命令:

export PATH=$PATH:/usr/local/cuda-10.1/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.1/lib64
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda-10.1/lib64

這幾行命令添加系統(tǒng)cuda的庫
然后添加:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/users/cudnn/cuda/lib64
export LIBRARY_PATH=$LIBRARY_PATH:/home/users/cudnn/cuda/lib64

這里的/home/users/cudnn/cuda/lib64視自己的libcudnn.so.7文件目錄而定,最后是更新:

source /etc/profile

如果tensorflow是按照在anaconda虛擬環(huán)境下的,在執(zhí)行這幾條命令會(huì)自動(dòng)退出虛擬環(huán)境。記得重新進(jìn)入:

source activate 環(huán)境名

這時(shí)重新進(jìn)入python,導(dǎo)入tensorflow,然后運(yùn)行tf.test.is_gpu_available(),可以看到:


這時(shí)已經(jīng)顯示成功打開了libcudnn.so.7文件,說明tf根據(jù)我提供的目錄成功找到了這個(gè)文件,在打開了這些庫文件后,最下面也返回了True:


還可以用另一個(gè)方法tf.config.list_physical_devices(‘GPU')查看當(dāng)前可用gpu:


十塊gpu都顯示出來了。
注意,添加這幾條命令只在當(dāng)前連接上有用,如果斷開了服務(wù)器連接再重新連接時(shí),需要重新輸入這些命令。

這個(gè)方法只是作為一個(gè)參考,碰巧是在tensorflow2.2上這個(gè)libcudnn.so.7文件打不開,于是嘗試性地試了一下,結(jié)果成功了。其他機(jī)器上如果出現(xiàn)同類問題,采用這個(gè)方法不一定能解決,只是提供一個(gè)思路。在tensorflow2.1上,也同樣出現(xiàn)gpu無法調(diào)用的問題,但打印的錯(cuò)誤信息不僅有l(wèi)ibcudnn.so.7文件無法打開,還有其他幾個(gè)文件也打不開,這些文件基本都是lib開頭的,可以查看這些文件是否在cuda的lib64目錄下,如果找得到這些文件,那有可能是環(huán)境變量設(shè)錯(cuò)了,可以試試上面那些命令:

export PATH=$PATH:/usr/local/cuda-10.1/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.1/lib64
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda-10.1/lib64

如果找不到,那可以試試跟我一樣先把這些文件下載到機(jī)器上面,給系統(tǒng)添加環(huán)境變量到對(duì)應(yīng)這些文件的目錄,引導(dǎo)tf去找。當(dāng)然,這只是我一種猜測(cè),tensorflow2.1和2.2用的應(yīng)該都是cuda10.1,但是我不清楚為什么2.2只有一個(gè)文件無法打開,而2.1就有好幾個(gè)文件打不開,而在1.9版本上,由于1.9似乎用的不是10.1版本的cuda,其錯(cuò)誤原因更多,這里要區(qū)分開。

到此這篇關(guān)于詳解tensorflow2.x版本無法調(diào)用gpu的一種解決方法的文章就介紹到這了,更多相關(guān)tensorflow2.x無法調(diào)用gpu內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解Python連接MySQL數(shù)據(jù)庫的多種方式

    詳解Python連接MySQL數(shù)據(jù)庫的多種方式

    這篇文章主要介紹了Python連接MySQL數(shù)據(jù)庫方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 使用Flask-Cache緩存實(shí)現(xiàn)給Flask提速的方法詳解

    使用Flask-Cache緩存實(shí)現(xiàn)給Flask提速的方法詳解

    這篇文章主要介紹了使用Flask-Cache緩存實(shí)現(xiàn)給Flask提速的方法,結(jié)合實(shí)例形式詳細(xì)分析了Flask-Cache的安裝、配置及緩存使用相關(guān)操作技巧,需要的朋友可以參考下
    2019-06-06
  • Python預(yù)測(cè)分詞的實(shí)現(xiàn)

    Python預(yù)測(cè)分詞的實(shí)現(xiàn)

    本文將結(jié)合實(shí)例代碼,介紹Python預(yù)測(cè)分詞的實(shí)現(xiàn),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-06-06
  • python定義類self用法實(shí)例解析

    python定義類self用法實(shí)例解析

    這篇文章主要介紹了python定義類self用法實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • pyqt5 獲取顯示器的分辨率的方法

    pyqt5 獲取顯示器的分辨率的方法

    今天小編就為大家分享一篇pyqt5 獲取顯示器的分辨率的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • 定位python內(nèi)存泄漏問題及解決

    定位python內(nèi)存泄漏問題及解決

    這篇文章主要介紹了定位python內(nèi)存泄漏問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Python PyQt5實(shí)戰(zhàn)項(xiàng)目之查詢器的實(shí)現(xiàn)流程詳解

    Python PyQt5實(shí)戰(zhàn)項(xiàng)目之查詢器的實(shí)現(xiàn)流程詳解

    PyQt5以一套Python模塊的形式來實(shí)現(xiàn)功能。它包含了超過620個(gè)類,600個(gè)方法和函數(shù)。它是一個(gè)多平臺(tái)的工具套件,它可以運(yùn)行在所有的主流操作系統(tǒng)中,包含Unix,Windows和Mac OS。PyQt5采用雙重許可模式。開發(fā)者可以在GPL和社區(qū)授權(quán)之間選擇
    2021-11-11
  • python簡單利用字典破解zip文件口令

    python簡單利用字典破解zip文件口令

    這篇文章主要給大家介紹了關(guān)于python簡單利用字典破解zip文件口令的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Python實(shí)現(xiàn)PyPDF2處理PDF文件的方法示例

    Python實(shí)現(xiàn)PyPDF2處理PDF文件的方法示例

    這篇文章主要介紹了Python實(shí)現(xiàn)PyPDF2處理PDF文件的方法示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Python?print函數(shù)使用由淺入深全面詳解

    Python?print函數(shù)使用由淺入深全面詳解

    這篇文章主要為大家介紹了Python?print函數(shù)使用由淺入深全面詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12

最新評(píng)論