windows下用pycharm安裝tensorflow簡易教程
最近開始學習深度學習的相關知識,準備實戰一下,看了一些關於tensorflow安裝的部落格,繞了一些彎,因此來填一下坑(多餘安裝的或者非windows),主要圍繞使用pycharm時需要用到tensorflow的安裝過程。
環境:windows10專業版。只是想簡單跑一下tensorflow的話,安裝過程真的很簡單。
如果你有“安裝IDE並關聯編譯器"的經驗,不想看複雜的安裝說明,可以嘗試看這個目錄憑自己的理解裝完,有問題細看。
1.安裝python,建議3.5以上版本
2.安裝pycharm,在pycham中關聯python直譯器,即給出Python.exe所在的路徑。
3.Pycharm中File->settings->Project xxx:->Project interpreter,右側列表任意雙擊一項就可以開啟“Available Package(可安裝的包的列表)”,找到你要的tensorflow版本點選install Package。gpu版需要顯示卡支援CUDA,並安裝CUDA和cuDNN。
前言
首先,對於windows下安裝tensorflow,有的部落格上來就叫裝Anaconda、裝CUDA(詳細自行搜尋),我覺得並不是很好。關於Anaconda,本質是個整合好的包,五六百M的樣子,裡面有python和一些科學包,裡面沒有tensorflow。學長給我了包但我並沒用,實際上裡面好多包我用不到,我覺得用到什麼下什麼就行了,因為pip很方便,尤其是配上pycharm以後,其實並不需要像別的教程那樣使用pip指令去獲得包。
1.安裝python(如果你已經裝有python,可以跳過這步)
指的是python的直譯器(interpreter)和一些套件,有點類似於學C的時候的編譯器的感覺,找到資源執行一下exe基本就裝好了。關於版本,tensorflow1.2以後的版本需要3.5以後的版本。關於2.x與3.x的區別有哦興趣可以參考
2.選擇一個IDE
好的IDE可以提高效率,我使用的pycharm,這個看個人喜好。Anaconda有自帶spider。
pycharm資源和安裝教程很多,這裡略過。
IDE安裝的時候會詢問是否關聯直譯器,如果不小心點過去了,也可以開啟File->Project:xxx->Project interpreter來關聯直譯器的路徑,這個過程和使用codeblocks關聯編譯器差不多。至此基本的python已經可以用了。
圖1 Project interpreter
另:File->settings->Color Scheme可以選擇面板。
3.安裝tensorflow
一些教程比較推薦的方法是使用pip,這個很方便。在python目錄下的Scripts資料夾裡有pip.exe和pip3.exe。通過在命令列輸入一些指令就可以完成安裝了。詳細:https://blog.csdn.net/u010099080/article/details/53418159
但我cmd真的用的不太好,pycharm安裝其實更加方便(本質還是pip,只不過不需要自己輸指令)
方法:在如圖1的介面中,任意雙擊一個packge,例如pip。接著你就能看到可安裝的包的列表了,找到你需要的package後點install package就好了,就這麼簡單。右邊欄是包的介紹,下方可以選擇特定的版本(用Python3.6下不到1.2之前的版本)。列表裡藍色的是已經裝好的。
裝好以後你的列表裡就有了,如上圖1所示。就算只裝了tensorflow也會帶著一堆配套的東西,比如numpy,tensorboard;完全不用擔心。另外需要pandas之類的話,安裝同樣的方法安裝即可。
如果你需要用GPU跑tensorflow,則應確保你的顯示卡支援CUDA,且應該安裝CUDA和cuDNN,並選擇tensorflow-gpu
不同版本的tensorflow支援特定版本的CUDA,CUDA、cudnn應當與tensorflow配套
好多教程沒有強調,釋出的也比較早,容易有坑。
tensorflow1.6開始支援CUDA9.0,cuDNN也需要配套的,找cuDNN x.x.x for CUDA9.0這樣的。
tensorflow1.6或1.7用CUDA9.1是不行的,該用9.0,我就被坑了。不過好在有解決的方法,非常感謝下面這篇:
於是我寫了一篇詳細的關於使用CUDA9.1的tensorflow的教程:
更新:tensorflow的包是比較大的,安裝起來比普通的小包要慢很多,請保證程式正常執行且網路通暢的條件下耐心等待。如果使用命令列與pip安裝的話,是可以明確看到安裝進度的,對於安裝過程非常有疑問的可以用這種方法。
後記
試出的迷一般其他的坑。
如果裝了tensorflow,手賤再安裝tensorflow-gpu,預設會執行tensorflow-gpu。同學那機子不支援CUDA,就開始報錯。而上面的安裝方法的那個列表不支援刪除。可以開啟cmd,輸入pip list,這樣可以看到所有已經安裝的包。pip uninstall tensorflow和pip uninstall tensorflow-gpu就可以刪除這兩個包。然後重新安裝tensorflow。
如果你的電腦是window系統且安裝了兩個python直譯器,比如3.6和2.7,那麼上面點install package的時候會出錯,而且直接在cmd裡使用pip指令也出問題,找不到資源。我老老實實的卸了2.7.
更新:在linux伺服器上同時安裝了python3.6和python2.7,可以互補影響的執行。主要原因在於相關程式的路徑指定。那麼這樣推測,在windows上適當的修改環境變數,可以使得不同版本的python正常工作。
關於:“Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2”的警告是說你的CPU支援AVX2指令集,可以執行的更快,但是這個版本的tensorflow不支援,無視掉就好,或者安裝教程加入遮蔽警告的語句(每次都加多麻煩,反正這個也沒影響,我真的想快就用gpu版或者伺服器了)。
更新:mind/wheels在github上有釋出支援AVX指令集的tensorflow,詳見該篇末尾: