前陣子在上公司的線上 ML 與 NLP 課程時, 老師都使用 Google Colab 平台做運算, 這是 Google 雲端硬碟所提供的免費 Jupyter Notebook 雲端執行環境, 上面已經搭載最新版的 Python 技術堆疊, 包括 Numpy, Pandas, Matplotlib, SciPy, Sympy, TensorFlow, 以及 Keras 等套件, 可以直接使用它來進行資料科學運算或執行機器學習專案, 完全不需要自行安裝任何模組或套件, 而且可免費使用 GPU/TPU 來加速, 運算過程也能像地端 Jupyter Notebook 環境一樣將 ipynb 檔案儲存在 Google Drive 並分享, 實在非常方便.
1. 新增雲端硬碟資料夾 :
只要登入 Gmail 帳號後開啟 Google 雲端硬碟就可以馬上使用 Colab, 為了不使檔案凌亂, 首先在 Google Drive 新增一個資料夾 (例如 Colab Notebooks) 來存放所有的 ipynb 檔案 :
按 "+ 新增" 鈕點選 "資料夾", 輸入新資料夾名稱, 例如 Colab Notebooks, 按 "建立" :
2. 新增 Colab 筆記本 (ipynb 檔) :
切換到新增的 Colab Notebooks 資料夾, 再按 "
+ 新增" 鈕, 點選最底下的 "
更多", 在彈出的子選單中點選 "
Google Colabotary" 即可 :
結果會開啟一個空白的 Jupyter Notebook 頁面, 這樣就可以輸入程式開始執行專案了 :
但如果是第一次使用 Colab, 則按 "+ 新增" 鈕時, 在選單最底下並沒有 "更多" 這個選項, 而是出現 "+ 連結更多應用程式", 點選此項目後在彈出的 "將應用程式連接到原ˇ灣硬碟" 頁面右上角輸入框裡填入 "Colaboratory", 然後按 Enter 鍵就會找到 Colab 應用程式, 再按下 "+ 連接" 鈕, 這樣再次按 "+ 新增" 鈕時, 選單最底下就會出現 "更多" 選項了.
直接在 Jupyter Notebook 的輸入格中輸入指令, 然後按最前面的播放鈕 (向右鍵) 即可執行該列指令. 注意, 按 Enter 鍵是跳行繼續輸入而非執行指令. 按 "+ 程式碼" 會在向下新增一個程式碼輸入格, 每一個輸入格都可隨時按前面的播放鈕重新執行該列程式碼 :
Colab 的程式碼預設是以 CPU 執行, 但可以在上方 "執行階段" 選單中點選 "變更執行階段類型", 可以選擇 "None (預設)/GPU/TPU" 三種執行類型, 然後按 "儲存" 鈕即可 :
在執行機器學習/深度學習專案時, 選擇 GPU/TPU 類型可以提升運算速度.
建立空白筆記本時預設的名稱是 Untitle0x.ipynb, 可點選 "檔案" 選單中的 "重新命名" 更改 :
此外, "檔案" 選單中常用的功能還有 "儲存", "上傳筆記本" (可將本機的 ipynb 檔上傳到雲端硬碟), 以及 "在 GitHub 中儲存副本" 等功能, 特別是後者可程式碼筆記本分享到公開的 GitHub.
3. 分享 Colab 筆記本到 GitHub :
首先在 GitHub 新建一個寄存庫 (repository, 此處取名為 colab) 來儲存筆記本副本, 按 GitHub 頁面右上角的 "New repository" 鈕新增寄存庫 :
在 "Repository Name" 欄內輸入寄存庫名稱例如 colab, 於 Description 欄內簡要說明用途, 勾選 "Add a README.rd", 然後按最底下的 "Create repository" 鈕即可 :
然後回到 Colab 網頁, 點選 "檔案/在 GitHub 中儲存副本", 顯示 "等待 GitHub 的授權" 頁面, 然後在彈出視窗中輸入 GitHub 密碼即可 :
按右下方的 "Authorize googlecolab" 鈕會彈出下列視窗, 點選上面新增的 colab 寄存庫後按 "確定" 就會在 GitHub 建立此筆記本的副本了 :
這樣此筆記本即分享於 GitHub 公開寄存庫了.
4. 安裝第三方套件 :
雖然 Colab 上已經預安裝了許多第三方套件, 但不可能應有盡有, 例如台股技術分析套件 twstock 就沒有, 用 import twstcok 指令會出現 "No module" 錯誤 :
可用 !pip install 指令安裝 Colab 沒有預安裝的套件, 例如 :
!pip install twstock
這樣就能順利匯入 twstock 套件了 :
參考 :
5. 下載與上傳 .ipynb 或 .py 檔案 :
Colab 筆記本除了自動儲存在 Google Drive 外, 也可以下載 ,ipynb 或 .py 檔案到本地儲存, 只要2u點選 "檔案" 選單最底下的 "下載", 然後選擇要下載 .ipynb 或 .py 檔即可 :
下載保存的檔案以後可隨時上傳到 Colab 重新執行.
我們可先將此筆記本刪除, 作法是在 "檔案" 選單中點選 "移至垃圾桶" :
刪除後可在 "檔案" 選單中點選 "上傳筆記本" 後點選本機的 ipynb 檔上傳即可 :
6. 重設 Colab 執行環境 (關閉筆記本執行資源) :
因為 Colab 是分享的執行環境, 故執行完所有運算後最好將筆記本的 Colab 執行環境關閉以便清除所佔用的計算資源, 作法是點選 "執行環境" 下的 "恢復原廠設定的執行環境" :
有 Colab 就不用為了用 GPU 跑機器學習去買顯示卡啦! 還可以直接使用 Google 的高效能 TPU, 程式碼筆記本除了記錄在雲端硬碟, 還可以秒分享到 GitHub, 比起在本機安裝龐大的 Conda 執行環境來說真是太方便了!