<style>
.source{
color: gray;
font-size: 13px;
}
</style>
<p>文/台灣人工智慧學校AI工程師</p>
<p>前言</p>
<p>俗話說：「工欲善其事，必先利其器。」有好的工具能幫助你在機器學習的路途上少走崎嶇的路。我經常遇到 AIA 技術班的學員提問：「結業後學校內的 Jupyter Notebook 是不是不能再使用了？那我們之後該怎麼練習與實作呢？」這邊有兩種方法 (1)直接在你的本機端安裝環境 (2)使用雲端資源。
第一種方法可以參考此篇文章<a href="https://medium.com/ai-academy-taiwan/suit-up-%E8%87%AA%E5%B7%B1%E5%8B%95%E6%89%8B%E5%BB%BA%E7%BD%AEai%E7%92%B0%E5%A2%83-8a344b3d129e"> Suit up! 自己動手建置AI環境</a>
而這篇文章主要說明第二種方法。我將舉例四個網路上免費的資源，可以直接利用雲端的方式執行 Jupyter Notebook。除了基本CPU，有些平台也提供了免費GPU資源，讓大家操好操滿！</p>
<h2 class="writingsH2"><strong>線上免費 Jupyter Notebook 資源一覽</strong></h2>
<p>今天會介紹我的四個口袋名單。放心！每一個服務都是免費的～ 如果平時在外面沒隨身攜帶自己的筆電，但想展示你的程式，可以透過以下資源來存取你的Code，超方便！</p>
	<ul>
<li>Google Colaboratory</li>

	<li>Microsoft Azure</li>

	<li>Kaggle</li>

	<li>mybinder (與GitHub專案連動)</li>
</ul>


<h2 class="writingsH2"><strong>1. Kaggle</strong></h2>
<p>Kaggle 是一個數據建模和數據分析競賽平台，你可以在上面不定時看到許多競賽，也可以看到許多公司將他們未解決的資料集公開分享出來，讓大家一起來解決。除此之外 Kaggle 使用者也可以公開分享自己的 kernel 讓大家參考你的程式，幸運的話你可以在這裡挖到寶。</p>
<p>註冊成功後會看到下方畫面（隨著時間，頁面可能會稍微長得不一樣），點選左邊欄 Notebooks 就可以看到自己的程式及他人分享的程式。點選右上角 New Notebook 就可建立一個新專案，這裡你可以選擇 R 語言或 Python。</p>
<img src="/wp-content/uploads/2020/07/Image-for-post.png" alt="新建一個新的 NoteBook" width="700" height="297" class="alignnone size-full wp-image-13211" />
<p class="source">新建一個新的 NoteBook</p>
<p>這邊我提供一個簡單線性回歸的範例，各位可以直進入<a href="https://www.kaggle.com/aiacademyandy/linear-regression">此連結</a> Copy and Edit 到自己的帳號中。 </p>
<p><img src="/wp-content/uploads/2020/07/2.png" alt="實作" width="700" height="333" class="alignnone size-full wp-image-13212" /></p>
<h2 class="writingsH2"><strong>2. Google Colaboratory</strong></h2>
<p>我們都簡稱 Colab。這個平台是 Google 所維護的服務，他會與你的 Google Drive 連動，這也意味著你得程式碼將會備份在雲端硬碟中。基本上你只要打開雲端硬碟在安裝 Chrome 的相關套件就可以使用了～</p>
<p>這裡我也提供一個<a href="https://drive.google.com/file/d/19Lb2rmUqG-UzBPp-GeKFU6sHtd7pArw_/view">範例程式</a>，各位可以跟著下面步驟並Fork到自己的雲端硬碟中。</p>

<p>若是初次使用的讀者，此時若沒看到 Google Colaboratory 的選項表示你的電腦尚未安裝插件。接著點選更多應用程式來下載。</p>
<p><img src="/wp-content/uploads/2020/07/3.png" alt="Google Colaboratory " width="700" height="267" class="alignnone size-full wp-image-13213" /></p>
<p>之後會彈出一個視窗，在搜尋欄打上 colab 就會跳出相關插件。點進去後點擊安裝來下載應用(PS.以上步驟需在Google Chrome瀏覽器下完成)。</p>
<p><img src="/wp-content/uploads/2020/07/Google-Colaboratory.png" alt="" width="700" height="237" class="alignnone size-full wp-image-13215" /></p>
<p>安裝完成後點選使用「Google Colaboratory」開啟。開啟後就會看到一個範例程式，因為這支程式是儲存在我的雲端硬碟中，若你想執行的話點選 File → Save a copy in Drive 將程式複製到你的雲端硬碟中。</p>
<p><img src="/wp-content/uploads/2020/07/Google-Colaboratory-2.png" alt="" width="700" height="402" class="alignnone size-full wp-image-13216" /></p>
<p><img src="/wp-content/uploads/2020/07/Google-Colaboratory-3.png" alt="" width="700" height="154" class="alignnone size-full wp-image-13217" /></p>
<p>如果你的專案需要使用到GPU的話可以點選 Runtime → Change runtime type。點擊進去設定後即可使用 GPU 或 TPU。</p>
<p><img src="/wp-content/uploads/2020/07/1_OWKX8YC0M0e7J0Bdkv-L8g.png" alt="" width="700" height="356" class="alignnone size-full wp-image-13218" /></p>
<p><img src="/wp-content/uploads/2020/07/1_lgb8nLPACLJ-NgXxG21FdA.png" alt="" width="700" height="366" class="alignnone size-full wp-image-13219" /></p>
<h2 class="writingsH2"><strong>3. Microsoft Azure</strong></h2>
<p>微軟的 Azure Notebooks 目前還處於開發測試階段，或許還不是很穩，但我們還是可以觀望。他的優點是能夠直接跟 GitHub 的專案連動，版本控制對工程師可說是非常重要的一環，大家應該沒忘記微軟早在 2018 年宣布收購 GitHub 的消息吧！</p>
<p>各位可以參考這個<a href="https://notebooks.azure.com/andy6804tw/projects/free-jupyter-notebook">範例</a>，打開後應該是 tree 結構的 Notebook，如果想換成下圖的編輯環境，可以在網址後面的 /tree 改成 /lab 就會跟下圖一樣了。由於目前還是測試階段，僅提供各位一個雲端服務的參考。日後發布正式版有多功能會再詳細介紹他。</p>
<p><img src="/wp-content/uploads/2020/07/1_pr1qW0XxMtDINYPT7wns9Q.png" alt="" width="700" height="477" class="alignnone size-full wp-image-13220" /></p>
<h2 class="writingsH2"><strong>4. mybinder</strong></h2>
<p>mybinder 跟微軟的 Azure 有點異曲同工之妙。mybinder 主要可以貼上 GitHub 的專案網址，接著透過 Docker 建立一個虛擬映像，幫你在平台上建立一個虛擬環境。因為是免費的服務，所以許多套件要自行安裝，例如sklearn、OpenCV、TensorFlow……等，這個服務比較適合在開發一個新的演算法並放在 GitHub 上，且需要提供一個測試環境給使用者做 live demo。個人不推薦在上面直接開發。</p>
<p><img src="/wp-content/uploads/2020/07/mybinder.png" alt="mybinder" width="700" height="455" class="alignnone size-full wp-image-13222" /></p>
<p>以上四個免費雲平台都可以讓開發者在網路上自由開發，當然免費資源多少有些不便，以及使用上的限制。不過，有效地善用網路資源的確可以減少我們在開發上的負擔！</p>
GitHub<a href="https://github.com/1010code/free-jupyter-notebook">程式碼</a>

<code>本文引自<a href="https://medium.com/ai-academy-taiwan">台灣人工智慧學校medium專欄</a>，medium專欄是由台灣人工智慧學校所經營，學校AI工程師們將定期於medium上分享近期技術研究及AI相關知識</code>