tensorflow 2.0安裝說明
很多人都有寫教學,所以就來跟風
我絕對不會說網路上寫的都嘛是東拼西湊,自己裝起來都會出問題,當然我這篇你們照著做一定也會出現一些問題,就是在訓練debug能力。還有我有重灌過,所以這篇基本上就是一步一步來
Tensorflow是什麼?簡單來說就像是一個裝滿很多套件的機器學習套件,然後是一種 大家完全不知道裡面的原理也可以拿來用的、可以拿來炫耀的東西 。
如果你要讓大家覺得你對機器學習、人工智慧、神經網路、大數據,反正就是這幾個關鍵字瞭若指掌,就照著做就對了,反正沒人在乎你是不是真的懂裡面在幹嘛
首先到Anaconda下載。Anaconda是啥?它是已經把所有跟機器學習相關的工具包成一個簡單安裝包的軟體。
簡單來講Anaconda就是工具箱的外殼、然後tensorflow就像是工具箱裡面的扳手、螺絲起子之類的。
那你會問說,為啥不直接裝tensorflow就好了,我不想買整套工具箱。
Anaconda的網站很常改版,下載的地方可能會不一樣,就自己隨機應變。原則上就是我們這邊一律使用個人版。
https://www.anaconda.com/products/individual
安裝就是一律繼續到底,在開始功能表內可看到幾種程式
- Anaconda Navigator是主要的UI介面,可以瀏覽工具箱內安裝了那些工具,或是管理工作環境。
- Anaconda Prompt是命令提示字元的介面,可以比較快速用打指令的方式做模組的更新或安裝
- Jupyter Notebook是開發用的其中一種IDE,寫程式的介面像在寫筆記、程式可以分段執行、結果會顯示在每個程式區塊的下方。可以把圖片、文字等等交錯放在程式區塊之間,對於初學者的解說會比較方便。教學常用
- Spyder是另一種IDE,介面很像MATLAB。程式寫久了會經常需要查看變數,用這個會比Jupyter好得多。基本上開發C++也大都是這種傳統式的介面,但對初學者可能會頭昏。大量資料處理的開發者常用
進到Navigator的Environment介面,現在只有一個被稱為base的環境。
什麼叫做環境呢?我們可以想像現在工具箱內有很多不同的工具,但這些工具分別對應不同需要維修的機器。修機器A需要螺絲起子跟扳手、修機器B需要板手跟槌子。兩者同樣用到了扳手、但另外一樣工具卻不同。因此我們把用於修機器A的工具整理成一份清單,這樣就不會把修機器B的槌子拿去修機器A、造成難以挽回的後果。
同樣的,不同年份出產的螺絲起子,有可能因為統一規定尺寸大小的改變,造成現在的螺絲起子無法轉動10年前的螺絲。用機械工具來比喻是比較誇張的講法,一般來講這種標準的工具都會一開始就固定好尺寸,但機器學習的軟體變動迅速,因此有可能一個大改版就造成程式跑不出來。 這就是為什麼在程式開發前需要固定好一個環境, 然後之後盡量不要變動。 而一開始建置環境通常是初學者最容易失誤的地方。你只要知道,我們不能把槌子拿去敲螺絲的道理,就知道把環境內有哪些模組整理起來是很重要的。
接下來我們要建立一個新的環境,也就是說不去對base做模組的增減。這樣的好處是未來萬一因為不知道哪個模組出錯要debug的時候,至少可以有一個沒有其他外掛模組干擾的環境來做一些測試。
建立新環境時,我們可以用UI建立、也可以用指令。這邊我會推薦用指令,不只是因為方便、同時也能訓練自己記憶指令的能力。點開base右方的三角形,選擇Open terminal打開指令終端機。這個方法跟直接開啟Anaconda Prompt的效果是一模一樣的。之後為了方便可以直接在開始功能表開啟Anaconda Prompt。
輸入以下指令,且下方有表示每個段落代表的意義:
conda create --name tf2_gpu python=3.7 anaconda
- conda create: 建立一個新的環境,如果是移除就改成remove
- -name tf2_gpu: 建立新的環境需要取名字,前面的-name就是在宣告說後面這個單詞是新環境的名字,叫tf2_gpu(名字可自取)
- python=3.7: 以python 3.7做為開發環境(須注意tensorflow目前不支援3.8,所以一定要打3.5~3.7之間的版本,這行不打的話它會直接安裝3.8)
- anaconda: 安裝anaconda的模組包,因為建立一個新的環境裡面還是要有一些機器學習必備的模組(numpy、matplotlib之類的),如果不打環境裡就會空空如也
conda activate tf2_gpu
啟動完後會發現指令列的開頭變成新環境的名字,代表現在在新環境下操作。往後的操作下請特別注意開頭都要是新環境的名字,否則會不小心把模組安裝到base上面去。
接下來安裝的是tensorflow 2.0。這邊以2.0版本作為範例(之前裝2.2不知道為啥都無法用GPU跑)。確認指令列開頭都是新環境的名字後,輸入以下指令:
pip install tensorflow-gpu==2.0
如果要換成CPU版本的話就把-gpu去掉。CPU跟GPU版本是可以分別獨立在不同的環境的。
安裝完後用以下指令來列出所有安裝的模組版本:
安裝完tensorflow,如果直接輸入進入python介面import tensorflow會發現錯誤,因為要安裝cudnn跟cudatookit。這兩者是tensorflow得以調用GPU的模組。輸入以下指令:
conda install cudnn=7.6.0conda install cudatoolkit=10.0.130
先打預防針,安裝cudnn跟cudatookit這環節是最容易出錯的部分,因為一開始每個人的電腦環境配置不同,所以有可能會出現少了compiler啊、顯卡版本沒更新(很重要)之類的問題
這時候請大家去stackoverflow去煩諸多熱心的網友
安裝完成後,我們輸入python以直接進入直譯器的介面,用以快速測試是否有成功安裝。或者,你也可以直接開啟spyder或jupyter,輸入以下指令並另存新檔並執行:
import tensorflow as tf
如果沒有出現錯誤,像是以上successfully opened dynamic library,那就恭喜你了。
這篇可以一次就弄完簡直是奇蹟
我絕對不會說是因為重灌過環境比較乾淨
喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!