免費雲端Jupyter Notebook報你知

文/台灣人工智慧學校AI工程師

前言

俗話說:「工欲善其事,必先利其器。」有好的工具能幫助你在機器學習的路途上少走崎嶇的路。我經常遇到 AIA 技術班的學員提問:「結業後學校內的 Jupyter Notebook 是不是不能再使用了?那我們之後該怎麼練習與實作呢?」這邊有兩種方法 (1)直接在本機端安裝環境 (2)使用雲端資源。第一種方法可以參考此篇文章 Suit up! 自己動手建置AI環境而這篇文章主要說明第二種方法。我將舉例四個網路上免費的資源,可以直接利用雲端的方式執行 Jupyter Notebook。除了基本CPU,有些平台也提供了免費GPU資源,讓大家操好操滿!

線上免費 Jupyter Notebook 資源一覽

今天會介紹我的四個口袋名單。放心!每一個服務都是免費的~ 如果平時在外面沒隨身攜帶自己的筆電,但想展示你的程式,可以透過以下資源來存取你的Code,超方便!

  • Google Colaboratory
  • Microsoft Azure
  • Kaggle
  • mybinder (與GitHub專案連動)

1. Kaggle

Kaggle 是一個數據建模和數據分析競賽平台,你可以在上面不定時看到許多競賽,也可以看到許多公司將他們未解決的資料集公開分享出來,讓大家一起來解決。除此之外 Kaggle 使用者也可以公開分享自己的 kernel 讓大家參考你的程式,幸運的話你可以在這裡挖到寶。

註冊成功後會看到下方畫面(隨著時間,頁面可能會稍微長得不一樣),點選左邊欄 Notebooks 就可以看到自己的程式及他人分享的程式。點選右上角 New Notebook 就可建立一個新專案,這裡你可以選擇 R 語言或 Python。

新建一個新的 NoteBook

新建一個新的 NoteBook

這邊我提供一個簡單線性回歸的範例,各位可以直進入此連結 Copy and Edit 到自己的帳號中。

實作

2. Google Colaboratory

我們都簡稱 Colab。這個平台是 Google 所維護的服務,他會與你的 Google Drive 連動,這也意味著你得程式碼將會備份在雲端硬碟中。基本上你只要打開雲端硬碟在安裝 Chrome 的相關套件就可以使用了~

這裡我也提供一個範例程式,各位可以跟著下面步驟並Fork到自己的雲端硬碟中。

若是初次使用的讀者,此時若沒看到 Google Colaboratory 的選項表示你的電腦尚未安裝插件。接著點選更多應用程式來下載。

Google Colaboratory

之後會彈出一個視窗,在搜尋欄打上 colab 就會跳出相關插件。點進去後點擊安裝來下載應用(PS.以上步驟需在Google Chrome瀏覽器下完成)。

安裝完成後點選使用「Google Colaboratory」開啟。開啟後就會看到一個範例程式,因為這支程式是儲存在我的雲端硬碟中,若你想執行的話點選 File → Save a copy in Drive 將程式複製到你的雲端硬碟中。

如果你的專案需要使用到GPU的話可以點選 Runtime → Change runtime type。點擊進去設定後即可使用 GPU 或 TPU。

3. Microsoft Azure

微軟的 Azure Notebooks 目前還處於開發測試階段,或許還不是很穩,但我們還是可以觀望。他的優點是能夠直接跟 GitHub 的專案連動,版本控制對工程師可說是非常重要的一環,大家應該沒忘記微軟早在 2018 年宣布收購 GitHub 的消息吧!

各位可以參考這個範例,打開後應該是 tree 結構的 Notebook,如果想換成下圖的編輯環境,可以在網址後面的 /tree 改成 /lab 就會跟下圖一樣了。由於目前還是測試階段,僅提供各位一個雲端服務的參考。日後發布正式版有多功能會再詳細介紹他。

4. mybinder

mybinder 跟微軟的 Azure 有點異曲同工之妙。mybinder 主要可以貼上 GitHub 的專案網址,接著透過 Docker 建立一個虛擬映像,幫你在平台上建立一個虛擬環境。因為是免費的服務,所以許多套件要自行安裝,例如sklearn、OpenCV、TensorFlow……等,這個服務比較適合在開發一個新的演算法並放在 GitHub 上,且需要提供一個測試環境給使用者做 live demo。個人不推薦在上面直接開發。

mybinder

以上四個免費雲平台都可以讓開發者在網路上自由開發,當然免費資源多少有些不便,以及使用上的限制。不過,有效地善用網路資源的確可以減少我們在開發上的負擔!

GitHub程式碼本文引自台灣人工智慧學校medium專欄,medium專欄是由台灣人工智慧學校所經營,學校AI工程師們將定期於medium上分享近期技術研究及AI相關知識