隨著機器學習,神經網絡的搭建,我們對海量數據的處理需求越來越大。
雖然,CPU的發展速度已經放緩,但並行處理的架構卻取得了爆炸式的發展。圖形處理單元(GPU)的大量運用,已經拉開了機器學習迅猛發展的序幕。
谷歌的開源機器學習工具TensorFlow,自發布以來,便迅速躋身於激動人心的機器學習庫的行列之中。
然而網上的大多數都是圍繞python2.7版本的tensorflow教程,下面我們就來看看在Centos7 +pyton3.6的環境下,我們怎麼安裝使用這個功能強大的開源庫的GPU版本。
Step1.環境確認
想要使用GPU版的TesnorFlow來加速我們的神經網絡運算,首先要確保,我們的GPU依賴環境已經搭好。
在終端輸入命令:cat /usr/local/cuda/version.txt (查看cuda版本)
在終端輸入命令: cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2(查看cudnn版本)
可以看到這裡cuda版本是8.0.61,而cudnn的版本是5.1.5.(如果沒有安裝cuda和cudnn,到官網根自己的GPU型號版本安裝即可)cuda和cudnn是使用GPU必裝的依賴環境,當然在安裝TensorFlow的GPU版本時,也必不可少。
Step2.安裝Anaconda
在確保,cuda和cudnn已經安裝的GPU可用環境下,我們來使用Anaconda安裝TensorFlow的GPU版。
之所以強烈建議通過Anaconda來安裝TensorFlow,是因為Anaconda集成了較多python第三方庫,對我們後期的神經網絡構建等是十分方便敞亮的。
首先進入官方下載地址:https://www.anaconda.com/download/
由於是Centos7,我們選擇linux版本,之後根據自己安裝的python版本來選擇相應的安裝包版本。小叮噹這裡選擇的是Python3.6版本。
下載完成後,在下載目錄下打開終端,執行命令:bash Anaconda3-5.2.0-Linux-x86_64.sh 根據提示,輸入回車。
之後根據提示輸入"yes",回車確認安裝路徑即可。
注意,此時會提示是否添加路徑,我們輸入「yes",則可以看到系統提示我們,在新打開的終端路徑將被激活。
最後,會提示是否安裝Microsoft vscode,我們可根據個人的需求來輸入yes或no(一般都會選擇no),此時我們輸入命令:conda 卻發現系統提示我們,未找到命令。
我們新打開一個終端,激活路徑,再次輸入命令:conda 發現此時conda已可使用。這表明Anaconda已安裝成功。
Step3.通過Anaconda安裝TensorFlow的GPU版
我們通過在Anaconda下創建虛擬環境來安裝TesnorFlow的GPU版。
(1)首先,我們輸入命令:conda create -n tensorflow python=3.6.5創建一個名叫」tensorflow"的虛擬環境。
此時,系統會提示我們,需要安裝一些新的依賴包,我們輸入"y"即可。
(2)輸入命令:source activate tensorflow 激活環境,之後輸入命令:pip install tensorflow-gpu 安裝Tensorflow的GPU版。
值得注意:此時下載速度極慢,只有83KB/s,於是我們使用命令:pip install tensorflow-gpu -i https://pypi.doubanio.com/simple/ 從豆瓣鏡像中下載,發現速度為11.9MB/s。
不一會兒,TensorFlow的gpu最新版本1.8.0便可成功安裝。
Step4.TensorFlow的GPU版測試
我們輸入命令:python 進入python環境後,輸入命令:import tensorflow 觀察是否報錯。
可以看到出現「ImportError:libculbas.so.9.0:cannot open shared object file:No such file or directory",這是因為我們安裝的tensorflow版本與cuda版本不匹配導致的。
注意:tensorflow1.0版本以上是不支持cuda8.0以下的,何況我們安裝的是最新版得tensorflow-gpu 1.8.0版本。
由於我們在Step1環境確認時,已經可以查看到我們的cuda版本是8.0.61,所以我們選擇低版本的tensorflow -gpu 1.2版本即可。
(1)使用命令:pip uninstall tensorflow-gpu 卸載掉高版本的tensorflow-gpu 1.8.0
(2)安裝上cuda8.0對應的正確tensorflow-gpu版本1.2,使用命令:pip install tensorflow-gpu==1.2 -i https://pypi.doubanio.com/simple/
(3)輸入命令:python之後,輸入:import tensorflow 再次測試。
可以發現,此時我們導入tensorflow已經不會報錯。我們輸入命令:
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow! I am IT Xiao Ding Dang!')
sess = tf.Session()
可以看到,當輸入」sess = tf.Session()「後,系統為我們列出了詳細的信息,可以看到此時本機的GPU顯卡GeForce GTX 1070」已經被啟用。這時輸入命令:sess.run(hello)
此時系統已經可以通過tensorflow-gpu為我們正常輸出,這說明我們的tensorflow-gpu已成功安裝。
如果,你還是覺得不放心的話,可以使用這幾句代碼:
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())
當你看到gpu時,就說明我們的TensorFlow的GPU版本已經成功安裝!快去愉快的使用吧!