之前一直都用tensorflow框架運行程序,每次配環境都相當難受,遇到的問題都是CPU版本可以運行,但是GPU版本的運行不起來,就是調不起來GPU,歸結:還是版本問題.這次趁着剛剛把環境配置起來先記錄一下,以防下次再出問題.
0、要安裝 tensorflow-gpu ,需要處理以下幾個依賴:按順序依次爲 python、CUDA driver、CUDA toolkit、cudnn;
1、python 版本
現在下載 anaconda/miniconda 默認是3.7版本的,可能會有很多問題,所以最好是新開一個 python3.6 的虛擬環境,目前python3.6相對來講很穩定,兼容性較好,推薦。conda create -n tf36 python=3.6
其中 tf36 是環境名
可以看到有了 tf36 這個環境,但是當前還是在 base 環境下( * 表示當前環境)
conda activate tf36
切換至該環境
前面的括號裏顯示當前環境爲 tf36
2、CUDA driver 版本nvidia-smi
確定自己的 CUDA driver 版本(因爲用的是自己的電腦演示,所以借用別人的圖)
3、CUDA toolkit版本
看自己的驅動對應的 CUDA toolkit 版本
比如上圖爲 367.57,應該下載8.0版本conda install cudatoolkit=8.0
(10.1版本是不能通過 conda 或 pip 下載的,要到官網下載)
重點來了,我的cuda driver版本是440,不能直接安裝10.1,那麼我就安裝了10.0.130,嘗試很多次,未果.實在不行 我就又把cudatoolkit==8.0安裝了,對應tensorflow1.3的(下面一條提到的安裝方法),還是調試不成功,我又繼續試了試cudatoolkit=9.2,然後安裝(4),對應tensorflow1.14版本的,總算可以了.
4、安裝 tensorflow-gpu
有了前面的鋪墊,直接安裝 tensorflow-gpu 就可以了,tensorflow 和cudnn 的版本會自動匹配 cudatoolkit 版本conda install tensorflow-gpu
5、測試是否安裝成功python
進入命令行模式import tensorflow as tf
導入 tensorflowtf.test.is_gpu_available()
如果顯示 True 則大功告成
總結:
1、首先要確定CUDA驅動的版本,據此安裝正確的 cudatoolkit 版本,此時再安裝 tensorflow-gpu 會自動安裝正確的 cudnn 和 tensorflow-gpu 版本。
2、而如果直接安裝 tensorflow-gpu 的話,會默認安裝最新版的 cudatoolkit 與 cudnn,極有可能與自己機器的驅動不符。
3、另外推薦安裝 python3.6.還有 如果安裝cudatoolkit版本高不行話,可以適當的降低一個版本或者兩個版本.