iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 7
2
自我挑戰組

深度學習所需入門知識--一位初學者的認知系列 第 7

機器學習所需的Python 環境

Fields 在昨天學會了用 Jupyter Notebook 編寫 Python 程式。對他要開始練習機器學習所需的數學函數已經有相當助益,但是當他開始要量測採用 GPU 與只用 CPU 兩者速率差異時,他覺得到處要寫起始與結束時間的間隔程式碼很是麻煩,最後他查到有插件可以安裝,這樣在 Jupyter Notebook 的每個 Code Cell 在每次執行時會在下方紀錄『執行結束時間』『費時多長』 。他請大家執行:

py36 #這是前天做的 alias,啟動 於conda 建立的環境 py36

在 py36 這環境下安裝 Jupyter 關於Code Cell執行計時的擴展

pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user
jupyter nbextension enable execute_time/ExecuteTime

只要安裝一次,後續一樣執行

jupyter notebook --port 8588 --ip 0.0.0.0 \
   --NotebookApp.contents_manager_class='notedown.NotedownContentsManager'

比較可惜的是當程式執行結束,按下 『CTRL+S』來保存這個帶有執行時間的 iPython Notebook後關掉,然後再打開時,這些時間資訊會消失掉。如果這資訊是後續文件重要的資訊,必須手動 Copy & Paste 在適當的地方。 Fields 是這樣做的,在 Code Cell 添加註解『#』:

https://ithelp.ithome.com.tw/upload/images/20181021/20105283UcK6rI1255.png

另外他也發現 jupyter 指令後面所需要輸入的參數可以用設定檔取代,

jupyter notebook --generate-config #產生需要的設定檔模板
nano ~/.jupyter/jupyter_notebook_config.py #放在 home的子目錄『.jupyter』下 ,名為 jupyter_notebook_config.py

裡面已經有密密麻麻的設定參數

#追加下面一行,讓 Notedown 來支援 Markdown 格式
c.NotebookApp.contents_manager_class = 'notedown.NotedownContentsManager' 
#更改 #c.NotebookApp.port = 8888
c.NotebookApp.port = 8xyz    #預設8888,如與其他軟體或其他用戶發生衝突,需要改為其他數字
#更改 #c.NotebookApp.ip = 'localhost' 為
c.NotebookApp.ip = '0.0.0.0'  #允許從 Server 以外的IP(機器)連上來
c.NotebookApp.allow_root = True #於Docker 環境下,允許 root身份啟動

另外他也覺得每次要從Server Copy & Paste 運行Jupyter時產生的又臭又長的 Token 到 Browser端實在很麻煩,所以下這個指令:

jupyter notebook password #要求輸入新密碼,執行這一次即可,後續就不用再執行
jupyter notebook #啟動 Jupyter Server,不用再帶之前長長的參數。然後到 Browser 輸入網址後,出現要輸入密碼的畫面,後面作業完全一樣。

延續 【UP, Scrum 與 AI專案】 他們七位形成 Scrum 的開發團隊彼此互助,Fields 短短三天內學會了基本的 Ubuntu Server 操作使用,Python Conda 建造自己所需環境,同時也會用 Jupyter Notebook 來開啟別人發表於 github 的範例。受益良多下,他現在還可以有一點點小貢獻回饋。但必須趕快加油追趕他負責的深度學習數學相關進度, 才不會丟臉。

備註:

專案緣起記錄在 【UP, Scrum 與 AI專案】


上一篇
Python 基礎-Jupyter
下一篇
Python 燒腦用的 Slice
系列文
深度學習所需入門知識--一位初學者的認知31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言