1. 程式人生 > >Windows下CUDA + TensorFlow-gpu + Keras 配置的坑

Windows下CUDA + TensorFlow-gpu + Keras 配置的坑

最近在學習深度學習,然後在安裝CUDA,TensorFlow-gpu,Keras時遇到了一些坑...下面是我遇到的一些問題

首先我python這方面,是安裝的Anaconda3自帶的python v3.6.3,其實這裡也有個坑,順便說一下。在10月份的時候試了一下,windows下如果你安裝Anaconda3最新版,那麼自帶python版本是v3.7,你可能裝不了TensorFlow,當然現在不知道能不能,因為這個一直是在改進相容的。(機器學習和深度學習,還是不推薦用自己下載的python版本,要安裝各種各樣的庫簡直不要太麻煩,親身體會。。。所以還是安裝Anaconda比較好。)

Anaconda這方面就不多說,進入正題,首先先說一下我的安裝配置:

顯示卡:Nvidia GeForce GTX970M

CUDA :8.0

TensorFlow-gpu:1.4.0

cuDNN:6.0

Keras :2.1

首先說一下,這些配置的版本,對應非常重要,如果你想安裝最新版,可以去百度或者google檢視相對應的版本。而且如果你的顯示卡不是很好的話,最好檢視一下你的顯示卡是否支援你想安裝的CUDA版本。

說一下我遇到的問題吧,首先在這裡先貼一下別人的安裝教程,我安裝CUDA就是在這裡看的Windows10配置TensorFlow-GPU及Keras教程   順便說下,你如果用nvcc -v 檢視不了CUDA版本,那就試一下 nvcc --version

一、CUDA和TensorFlow版本衝突:

我按照這個連結裡的教程,安裝了CUDA v8.0,一開始我裝的是cuDNN v7.0(這個先別裝,後面會說明版本衝突)

在安裝完CUDA和cudnn後,還沒有出問題,就是在安裝TensorFlow-gpu的時候,就出問題了,因為你如果用

pip install tensorflow-gpu下載的話,預設給你下載最新版,當前是1.12.0,但是CUDA v8.0和tensorflow-gpu v1.12.0版本不支援,然後只能將tensorflow-gpu退回1.4的版本,因為安裝CUDA比較麻煩,所以我就降低了tensorflow-gpu版本,

pip install tensorflow-gpu==1.4

如果你想用版本高一點的tensorflow-gpu的話,那你要安裝高版本的CUDA了,但是要看一下你的顯示卡支不支援了。

二、cuDNN和TensorFlow版本衝突:

如果你進入cuDNN安裝那裡,你會發現cuDNN v7.0,是適用於CUDA v8.0的對吧,我當初就是看到這個然後直接點選安裝了,結果在執行程式的時候,報錯說找不到cuDNN v6.0的一些檔案....原諒我沒有隨時隨地記錄我bug報錯資訊的習慣。後來查了一下,發現是和TensorFlow-gpu的版本有關。所以cuDNN最好安裝 v6.0,如果你是安裝CUDA v8.0的話。

三、keras版本問題:

這個其實比較特殊,可以注意到我上面說的是版本問題,而不是版本衝突。我當初試著運行了一個基於CNN的人臉識別的程式,就有用到keras(後面會另發文章,這也是我為什麼安裝這些配置)。

然後那個程式在跑了以後出現了一個bug,網上查了一下,說是keras版本問題(開始裝的是v2.2.4),然後要我換成v2.1,於是我只好再次退版本 pip install keras==2.1  關掉pycharm重新開啟執行,沒有bug。但是 奇怪的事情發生了,我重新看了一下專案包,我的keras版本還是2.2.4(如果有哪個大哥知道原因請告訴我下)。

如果你在pip install的時候,出現一大串紅色的錯誤資訊,那麼試一下更新pip版本,紅色報錯資訊下面有個黃色提示資訊應該有的。 如果還是不行,然後你又安裝了anaconda的話,就試試 conda install pip,再不行就百度一下看看別人有沒有遇到相同的問題吧。

以上就是我遇到的一些問題,如果有錯誤的地方,請指正,感謝! 順便說下,接下來幾天我會發基於CNN卷積神經網路的人臉識別程式,如果感興趣的話可以看看。