python2.7安装tensorflowgpu_Ubuntu16.04+Python2.7+CUDA9.0+cuDNN7.0+TensorFlow 1.6 安装随笔
寫在前面的話
已經(jīng)煉了幾個月的丹了,雖然還沒有從入門到臥室,但也從一無所知到現(xiàn)在有所了解了。回想起從零開始學習深度學習時,最令我頭痛的不是數(shù)學公式,也不是神經(jīng)網(wǎng)絡結構,而是配置深度學習的電腦環(huán)境,網(wǎng)上的這方面的教程還是很多的,比如七月在線的這篇,雖然很多人對這個AI教育機構持懷疑態(tài)度,但這篇博文還是很不錯的。
我之所以寫這篇文章是因為幾天前,跑代碼時發(fā)現(xiàn)TensorFlow不工作了,正常的工作狀態(tài)應該是運行時會出現(xiàn)這樣一句話:TensorFlow運行時提示信息
然而沒有出現(xiàn),并且電腦卡死機了,我就猜測沒有用到GPU,而是在用CPU,于是我決定卸載了已經(jīng)安裝的TensorFlow(已經(jīng)無法使用,不知什么原因),再重新安裝,然后發(fā)現(xiàn)TensorFlow已經(jīng)更新到了1.6版本,相對應的依賴庫也都更新了......再后來就有了這篇文章。
正文關于我的電腦
我的電腦配置是NVIDIA GTX 1080顯卡,因特爾 i7-8700k,16G內(nèi)存,Ubuntu 16.04操作系統(tǒng),系統(tǒng)自帶Python 2.7.12(除此之外,我還用Anaconda安裝了一個Python 2.7.13和一個Python 3.6.2),在此次更新之前,在Python 2.7.12下安裝了TensorFlow 1.3,CUDA 8.0,以及cuDNN 6.0。關于本機我裝的三個版本的PythonUbuntu系統(tǒng)安裝,顯卡驅動安裝
因為我這次只是重裝了TensoFlow,所以安裝Ubuntu系統(tǒng),安裝顯卡驅動就不再贅述啦,教程也比較多,可以看看上面我提到的七月在線的這篇博文。我是在卸載了已有的TensorFlow后,發(fā)現(xiàn)最新的TensorFlow版本支持CUDA 9.0,而CUDA這個版本需要最新的顯卡驅動,所以我就更新了顯卡驅動,具體操作是在Ubuntu系統(tǒng)左端的菜單欄找到System Settings,然后選下方的Software & Updates,再點擊上方的Additional Drivers,你就會看到NVIDIA Corporation,找一個最高的version,選中再點Apply Changes,靜候升級就好啦。系統(tǒng)更新顯卡驅動步驟
打開Terminal(終端,可使用 Ctrl+Alt+T 的快捷鍵組合),輸入以下代碼,查看顯卡信息,其中 1 代表每 1s 刷新一次數(shù)據(jù)。
yn@yn419:~$ watch -n 1 nvidia-smi顯卡信息
可見本電腦顯卡驅動版本為 390.25, 顯卡型號為 GeForce GTX 1080, 包括顯存,利用率等信息。
當然也可前往NVIDIA官網(wǎng)下載對應顯卡版本的驅動。CUDA 9.0 下載與安裝
先去NVIDIA網(wǎng)站選擇CUDA Toolkit9.0(Sept 2017),按自己系統(tǒng)版本選擇如下, 最后點擊 Download(1.6 GB)。CUDA Web
文件比較大,下載完成后會在系統(tǒng)的Downloads目錄里出現(xiàn),文件名字是cuda_9.0.176_384.81_linux.run,打開一個終端,cd到此.run文件所在的路徑下,或者直接在此文件所在的目錄里文件夾里右鍵鼠標,然后選Open in Terminal即可,接著運行以下代碼:
yn@yn419:~/Downloads$ sudo sh cuda_9.0.176_384.81_linux.run
可能會出現(xiàn)一個類似使用說明的東西,一直點回車看完就行了,然后會出現(xiàn)一些選項問題,除了Install NVIDIA Accelerated Graphics Driver for linux(因為已經(jīng)提前安裝了顯卡驅動,所以這里選擇不安裝)?選擇n(no)以外,其他的都選y(yes)就行了,安裝結束后,我們要開始添加環(huán)境變量了,首先隨便打開一個終端,執(zhí)行以下代碼打開環(huán)境變量:
yn@yn419:~$ sudo gedit ~/.bashrc(or .profile)
在 .bashrc 文件末尾處加上CUDA 9.0的環(huán)境變量,如下代碼:
export PATH=/usr/local/cuda-9.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64$LD_LIBRARY_PATH
千萬別忘了點擊右上角的Save(保存)按鍵,不然環(huán)境變量可沒設置成功,接下來就試試看CUDA 9.0 是否安裝成功了吧,打開終端,先cd 到 下面的目錄,再執(zhí)行 sudo make,接著執(zhí)行 ./deviceQuery,代碼如下:
yn@yn419:~$ cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery
yn@yn419:/usr/local/cuda-9.0/samples/1_Utilities/deviceQuery$ sudo make
yn@yn419:/usr/local/cuda-9.0/samples/1_Utilities/deviceQuery$ ./deviceQuery
然后你就會看到,這就說明,你的CUDA 9.0安裝成功,且環(huán)境變量也配置完成了。cuDNN 7.0 下載與安裝
先去NVIDIA網(wǎng)站下載cuDNN,這個比較麻煩一點,需要先注冊一個賬號,然后會讓你做一個類似于調(diào)查問卷的東西,之后才能下載,記得要先勾選那個I Agree,然后如下圖所選版本下載即可。
然后會彈出對應各個系統(tǒng)的版本,然后如下圖所選,進行下載。
下載完成后,在系統(tǒng)Downloads目錄下會出現(xiàn)一個cuDNN的壓縮文件,名字是cudnn-9.0-linux-x64-v7.tgz,然后解壓此文件,具體操作可以是右鍵點擊文件,選擇Extract Here(在此解壓),解壓完成后,進行如下代碼操作。
yn@yn419:~$ sudo cp cuda/include/cudnn.h /usr/local/cuda-9.0/include
yn@yn419:~$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda-9.0/lib64
yn@yn419:~$ sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda-9.0/lib64/libcudnn*
這樣我們就完成了cuDNN 7.0 的安裝。TensorFlow 安裝
你可能會問為什么我非要安裝CUDA 9.0,cuDNN 7.0 呢,因為TensorFlow的官網(wǎng)就是這樣要求的,經(jīng)過上面的幾步,這些我們都已經(jīng)安裝了,所以可以安心地安裝TensorFlow了。
TensorFlow的官網(wǎng)提供了以下5種安裝方式,但我推薦大家使用 pip 進行安裝。
隨便打開一個終端,運行代碼,注意是選擇Python 2.7 且 GPU Support的。
yn@yn419:~$ pip install tensorflow-gpu
如果安裝失敗,可以嘗試用以下方式進行安裝,代碼如下:
yn@yn419:~$ sudo pip install --upgrade tfBinaryURL
yn@yn419:~$ sudo pip3 install --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.6.0-cp27-none-linux_x86_64.whl
不同版本的URL值(也就是最后一句的那個網(wǎng)址)可以在這里找到,執(zhí)行完代碼靜靜等待安裝就行了,如果還是不成功,那只能嘗試其他的4種方法了。
完結撒花
到這里我們就配置好了基于Ubuntu 16.04(雖然我也沒教你怎么安裝),Python 2.7 (系統(tǒng)自帶的,跟我也沒啥關系),CUDA 9.0 ,cuDNN 7.0 ,TensorFlow 1.6 的深度學習環(huán)境了,回頭看看是不是很簡單呢,我們來import 一下 TensorFlow試一試:
沒有什么問題,這個警告我也查過,是沒有問題的,看樣子是成功了呢,我平時寫代碼都用的pycharm,那我們用pycharm再觀察一下,Python2.7 下確實安上了 TensorFlow 1.6呢,大功告成!
深度學習的框架還有很多,目前我也只用過TensorFlow和pyTorch,這里必須吐槽一下,相對于TensorFlow,pyTorch的安裝簡直太簡單了。
最后一哆嗦
謝謝各位丹友的耐心閱讀,祝大家在煉丹的路上一帆風順,早日煉出各種靈丹妙藥修得正果
補充
根據(jù)我同學 張ZY的問題反饋, 在.bashrc中配置過 CUDA 9.0 的環(huán)境變量后, 使用終端調(diào)出 Python , 然后 import tensorflow 不會報錯, 但在 Pycharm 這個 IDE 里就會報錯, 報錯內(nèi)容大致為 :
‘ImportError: libcudart.so.9: cannot open shared object file: No such file or directory’
起初認為是他沒有在 Pycharm 里給工程配置解釋器, 嘗試進行如下操作:
在 Pycharm 里 File -> Settings -> Project: (你的工程名) -> Project Interpreter , 然后給你對應的工程選擇安裝了 Tensorflow 的 Python 版本
結果好像沒什么用, 后來張同學在網(wǎng)上找到了解決方案, 簡而言之就是沒有給 Pycharm 配置 CUDA 的環(huán)境變量, 具體操作是找到 Pycharm 安裝目錄, 然后打開 bin 目錄, 找到目錄下的
pycharm.sh 文件, 右鍵 open with 選 gedit
然后找到這一句
LD_LIBRARY_PATH="$IDE_BIN_HOME:$LD_LIBRARY_PATH" "$JAVA_BIN"
我的在第207行, 然后在前邊加上下邊這句 CUDA 的環(huán)境變量
LD_LIBRARY_PATH='/usr/local/cuda/lib64'
別忘了右上角的保存, 然后問題就解決了, 又可以完結撒花了~
補充 2.0 (更新于 2018.6.20)
昨天有幸得到了一臺服務器的使用權限, 服務器上除了裝了顯卡驅動, CUDA9.0 和 cuDNN7.0以外, 其他的深度學習框架都沒有安裝, 我在安裝TensorFlow過程中發(fā)現(xiàn)無法安裝,嘗試了很多種方法都不奏效, 最終發(fā)現(xiàn)問題出在了系統(tǒng)的版本上, 服務器的系統(tǒng)版本是64位的Ubuntu14.04,
致謝
感謝張ZY同學的問題以及解決方案, 真的是活到老學到老呢
總結
以上是生活随笔為你收集整理的python2.7安装tensorflowgpu_Ubuntu16.04+Python2.7+CUDA9.0+cuDNN7.0+TensorFlow 1.6 安装随笔的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python快速部署一个服务器_Pyth
- 下一篇: mysql练习_MySQL练习——4