Ubuntu 安裝 Python3.5, Tensorflow-gpu, jupyter

本文將會說明如何在Ubuntu上安裝tensorflow-gpu, python, jupyter!
剛好有個機會要建立一個環境,這個環境會是一台伺服器,上面運行Ubuntu。而其他人可以使用瀏覽器連上這台伺服器的jupyter並且使用Python和Tensorflow來完成顯卡運算需求。
本文的內容是基於已完成下列條件的教學:
(1).Nvidia 顯卡驅動
(2).Nvidia CUDA Toolkit
(3).Nvidia cuDNN

如果要從頭開始安裝可以看這篇文章:使用 Ubuntu 作為 深度學習/機器學習/人工智慧之 平台

Step 1

下載Anaconda

 

Step 2

安裝Anaconda

很重要!千萬不要用sudo安裝Anaconda!

安裝過程會跳出幾個詢問對話:

  1. Anaconda End User License Agreement
    Do you accept the license terms? [yes|no]
    [no] >>> yes

  2. Anaconda3 will now be installed into this location:
    /home/andy/anaconda3
      – Press ENTER to confirm the location
      – Press CTRL-C to abort the installation
      – Or specify a different location below
    [/home/andy/anaconda3] >>> <<按Enter>>

  3. 這步驟結束後安裝就算是完成了~
    Do you wish the installer to prepend the Anaconda3 install location
    to PATH in your /home/andy/.bashrc ? [yes|no]
    [no] >>> yes

  4. 這部會問你要不要安裝Microsoft VSCode,看自己是否有這需要吧!
    Anaconda is partnered with Microsoft! Microsoft VSCode is a streamlined
    code editor with support for development operations like debugging, task
    running and version control.
    To install Visual Studio Code, you will need:
      – Administrator Privileges
      – Internet connectivity
    Visual Studio Code License: https://code.visualstudio.com/license
    Do you wish to proceed with the installation of Microsoft VSCode? [yes|no]
    >>> no

     

 

讓bashrc變更生效

安裝過程中有修改~/.bashrc,因此要透過下列指令讓修改內容生效

 

可以用conda查看一下到底有哪些套件

 

Step 3

建立conda虛擬環境

建立一個Python3.5的虛擬環境
–name:指定虛擬環境名稱
python=3.5:表示這個環境下的python裡面的版本要指定3.5
(同理,Tensorflow的版本也可以這樣指定)
ipykernel:這很重要!Step 5會用到。此套件是iPython 核心,用途是為jupyter創造獨立的環境。

 

Step 4

啟動conda虛擬環境

source activate <虛擬環境名稱>
啟動虛擬環境,啟動虛擬環境之後可以看到終端機前方會出現虛擬環境名稱的前綴詞『(projTF)』!

 

Step 5

安裝Kernel

為不同的環境安裝不同的Kernel。
使用jupyter執行時可以選擇Kernel,確保開發環境獨立性!
–user:使用者名稱,為空代表預設值,預設值是現在的使用者
–name:jupyter內部使用的名稱,目前我都設定成和虛擬環境名稱相同
–display-name:欲顯示在 jupyter功能列的『Kernel >> Change Kernel』 清單上的名稱

jupyter change kernel

如果你想要更了解 ipykernel,請參考:Kernels for Python 2 and 3

 

Step 6

安裝Tensorflow-gpu

在conda虛擬環境下安裝tensorflow
用法就跟pip一樣!

 

Step 7

安裝ipython、jupyter、notebook

 

Step 8

建立jupyter設定檔

本步驟和下一步驟很重要,這攸關於jupyter能否讓外來使用者連線使用jupyter!
(如果你安裝的jupyter只是在本機上使用的話,可以不用特別建立jupyter設定檔。可以跳過Step 8,  Step 9!)

 

Step 9

編輯jupyter設定檔

找到下列設定值,依照需求修改!
c.NotebookApp.allow_origin = ‘*’   #限制來源要求,『*』代表不限制
c.NotebookApp.ip = ‘localhost’      #jupyter預設值會將虛擬站台掛在localhost,可以改成IP或是Domain Name

 

如何以密碼存取jupyter?

step 1-安裝notebook

在虛擬環境中安裝notebook

或是直接用pip安裝notebook

 

step 2-產生密碼Hash code

開啟python command-line
(不論是否處於虛擬環境下的方法都一樣)

在python command-line輸入下列指令,Enter password:<請輸入欲設定的密碼>
將passwd( )回傳的Hash code複製起來!

 

step 3-編輯 jupyter 設定檔 c.NotebookApp.password

取消c.NotebookApp.password之前的註解 #,把Hash code貼在單引號之內。

 

Step 10

測試!

執行jupyter

如果選擇使用密碼登入jupyter上述第6行 jupyter給予的網址就不會包含“token”的參數。會長得像下列這樣:
http://xxx.xxx.xxx.xxx:8888/

 

開啟瀏覽器

如果你不用密碼驗證,就可以複製jupyter生成的 網址 和 token:http://xxx.xxx.xxx.xxx:8888/?token=58f5dba13c71964a93931cc3f3ae24e4747a97504fae5526
接著,來測試Tensorflow在jupyter上執行!

 

建立新的jupyter Notebook檔案,選擇正確的Kernel!

jupyter change kernel

 

tf.device(‘/gpu:0′):這是用GPU計算;
若電腦是用CPU可以將這段改成這樣:tf.device(‘/cpu:0′)

 

很不幸地,如果出這個錯誤:No module named tensorflow.

確認一下,現在這個jupyter notebook所使用的Kernel是不是當初建立的環境。
如果都沒問題,但還是出現這樣的錯誤,可以下這個指令看看有沒有辦法改善!

 

References
  1. How To Install the Anaconda Python Distribution on Ubuntu 16.04
  2. Using TensorFlow through Jupyter (Python 3)
  3. Kernels for Python 2 and 3
  4. IPython kernel options



Andy Wang

站在巨人的肩膀上仍須戰戰兢兢!

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *