反光鏡
反光鏡

文章收藏箱,一個寫文章不以營利而以教學為目的的奉獻者

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,那就恭喜你了。

這篇可以一次就弄完簡直是奇蹟
我絕對不會說是因為重灌過環境比較乾淨
CC BY-NC-ND 2.0 版权声明

喜欢我的文章吗?
别忘了给点支持与赞赏,让我知道创作的路上有你陪伴。

加载中…

发布评论