最近兩天小編實驗室新買回來一臺圖形工作站,需要搭建python+tensorflow-gpu的環境,花費了一天半的時間配置完成,當然如果你網絡好,可能半天就OK拉,下面來個總結吧。
表格中是此次配置的主要環境
windows10系統 |
Anaconda3-4.0.0(64位) |
python3.5 |
cuda10.0
|
tensorflow-gpu1.14.0 |
1、配置中的軟件要求按照tensorflow官網上說的來就好,點擊鏈接進入https://tensorflow.google.cn/install/gpu
但是注意,如果你的電腦中沒有安裝過VS,建議先安裝VS,否則在安裝CUDA的時候會有些問題,小編這次安裝了VS2012以及VS2019(主要看中它能編寫並調試Python代碼,也是爲了嚐嚐鮮)
切記,不要指點點鼠標安裝完就好了,還需要配置環境變量哦,上面鏈接裏面都有,最後 來檢驗一下CUDA是否安裝成功:
打開命令行,輸入nvcc --version
得到下圖的結果說明你的cuda已經配置成功
2、上述步驟一般不會出錯,接下來我們就要安裝Tensorflow-gpu啦,這個可是充滿了未知的坑,總是與有些庫不能兼容,所以要不斷的卸載和安裝一些Python的庫。
打開命令行,執行pip3 install --upgrade tensorflow-gpu 如果你的網絡存在問題,可能你也會遇到下圖這樣的問題
切記,只要是進度條還沒走完就報錯的,那百分之八九十就是網絡的問題,所以小編就搜呀搜,看到網上說在cmd下輸入pip install -i https://pypi.mirrors.ustc.edu.cn/simple/ tensorflow-gpu(因爲原地址下載太慢了,所以零時使用清華的源下載)。
如下圖所示是使用清華的源進行安裝的情況:
很nice,但是天總不遂人願,還出現了問題:xxx has requirement setuptools>=.....cannot uninstall 'numpy'
上述其實包含兩個問題,一個是setuptools的版本問題,一個是numpy 的版本問題,那我們就先一個一個的解決(此刻我還有點耐心,~~~~~)
針對setuptools的版本問題,使用pip3 install --upgrade setuptools
是的,我也以爲沒毛病,可是倒黴催的又出現了 Cannot remove entries from nonexistent file c:\anaconda3\lib\site-packages\easy-install.pth的問題,如下圖:
講真到這裏我有點受不了了,你想象不到如果如果你再去解決easy-install這個問題,還會出現什麼問題,所以一不做二不休
乾脆就忽略它吧,逃避雖然可恥但是有用呀(當然正在看文章的你有更好的方法可以留言交流哦~)
上命令:pip3 install --upgrade --ignore-installed setuptools
ok setuptools的問題完美解決(跳過),哈哈哈。
接下來就是第二個問題numpy 的版本問題,要知道目前使用pip3 install --upgrade numpy 是可以升級Numpy的,但是奈何小編的網絡不好,命令行下載總是出問題,如圖:
那怎麼辦呢,首先numpy是一個單獨的庫,可以單獨安裝,所以我們可以找一個網絡好的童鞋幫你下載一個numpy-1.16.4-cp35-cp35m-win_amd64.whl文件(各位根據自己的需求尋找合適的版本號下載),進行離線安裝,切記下載的文件,不管它的名字有多長,都不要改名字,不然它告訴你:xxx.whl is not a valid wheel filename,厲害不,有圖有真相:
對,要先把命令行的路徑切換到你whl放置的路徑下哦。
勝利的曙光在我放棄之前到來了,解決了上面兩個問題,再次執行:pip install -i https://pypi.mirrors.ustc.edu.cn/simple/ tensorflow-gpu
ok,大功告成
3、測試
將下面的代碼複製到spyder裏面進行測試
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
輸出:
b’ Hello, TensorFlow!
爲了體驗一把gpu加速的優勢,我這裏使用卷積神經網絡進行MNIST_data的訓練和測試,我的小電腦,如果跑起來4個cpu核,4g內存全部佔滿,大約要跑一個多小時,來看看我們的GPU加速:不到半分鐘就出來了,大愛,感覺科研又有動力了!