2020年2月11日 星期二

建立深度學習開發環境:安裝Python 3.7, Anaconda3及使用Jupyter notebook安裝Tensorflow2

我使用的是Ubuntu16.04,Python其實是有內建,印象中版本是2.7
其他非Data Science需求的人其實直接開啟終端機,打上指令python就可以開始寫python了。
我的需求是Data Science、Machine Learning、Deep Learning,說穿了就是拿python及各式各樣的python package來進行資料分析及建模,我自己的感覺,這並不像真的在寫程式,只是下Command給電腦去運算。真正寫程式的人是package的作者們,感謝他們讓世界美好許多。

安裝Anaconda3

Anaconda3是一個非常方便的套件組,Python 3.7、IDE(Jupyter notebook, iPython, Spyder等)、Data Science常用套件等功能全都含在裡面了,直接下載安裝,一條龍服務。

步驟:
  1. 進到Anaconda官網,下載安裝包
  2. 打開終端機,輸入指令:bash ~/Downloads/Anaconda3-2019.10-Linux-x86_64.sh
  3. 等待安裝完成


建立虛擬環境,開始使用Jupyter Notebook

Jupyter Notebook一個互動是的開發環境,給它一條指令,它就馬上做出相應動作,這對Data Analysis來說真的非常方便。
下面是它的介面範例,在"In[ ]"區塊輸入code,按下ctrl+ent執行,下方"Out[ ]"就會出現執行的結果,介面乾淨整齊,很適合數據處理等工作。

安裝完Anaconda3後,Jupyter notebook也一併安裝好了,打開終端機,輸入jupyter notebook就可以開始使用了。
不過在開始使用前,還是先建立一個虛擬環境,防止日後在一些實驗或者安裝上出錯,必須要全部刪掉重來。

建立虛擬環境步驟:
  1. 打開終端機,輸入指令conda --name my_test_env python=3.7
  2. my_test_env為環境名稱,可以自由修改;python=3.7可打也可不打,不輸入的話會自動使用電腦中的python最新版本
  3. 建立完成後,輸入指令conda env list,查看目前所有已建立的虛擬環境清單。
  4. 進入虛擬環境,輸入source activate my_test_env。進入虛擬環境,終端機的使用者名稱會顯示(my_test_env)user@user-yourPC
  5. 輸入jupyter notebook,開始使用Jupyter Notebook。

開始使用Jupyter Notebook並安裝Tensorflow2


如圖示,點New,選Python3,開啟新的筆記本,就會看到前面所提的In[ ]的介面了。
接下來開始安裝Tensorflow。Tensorflow是Google發表的Deep Learning套件,搭配Keras API可以快速搭建深度學習模型。Tensorflow可以使用GPU進行平行加速運算,大幅提昇訓練的效率。
Tensorflow有CPU及GPU兩種版本,鑑於我的顯卡只是五年前最基本款的,且我也只是初學,因此我只安裝CPU,並選擇2019年發佈的Tensorflow 2。目前大部分坊間的書籍及網路上的資源都還是以Tensorflow 1為主,我自己自學的感覺是二代對我這種新手著實友善太多,並且Google「原廠」自己的教學都改以二代為主,因此最後我還是放棄一代,直接學二代。

Tensorflow 2.1 CPU version安裝方法:
  • 在剛剛開啟Jupyter notebook,輸入!pip install tensorflow,執行
  • 若要指定版本,則為!pip install tensorflow==1.15 (*註:1.15是一代最新一版)
  • 也可以在終端機直接輸入pip install tensorflow
  • 這裡面內含Keras
  • GPU版本安裝方式,參考Tensorflow官網

安裝完成後,在Jupyter Notebook新增一個新的Cell。方法:按"Esc"-->"B",會看到原本的In[1]變成藍色,並在下方新增一個新的In[ ] cell,輸入:
import tensorflow as tf  #載入tensorflowtf,"tf"是載入套件後的簡稱
print(tf.__version__)
  #print()列印出tensorflow版本。".__version__"中dot是呼叫tensorflow中名為"__version__"的function
執行以上code會出現Out[2] : "2.1.0"  (*註:版本)

後記

目前實做網路上的各種課程,用CPU足以,但的確也開始遇到資料維度及iteration次數增加的狀況。目前各式的說法是顯卡至少需要nVIDIA GTX1050以上才能跑得比較舒服,我也開始考慮花點錢組台桌機來跑。看之後有機會(有錢)再說了。






















沒有留言:

張貼留言