top of page
Search
Learn with Shin

Google Colab:強大的雲端Python工具

Updated: Jun 21, 2021



雖然這樣的破題法有點老氣...但是...我還是要說... 😎


你曾經感到對Python需要軟體的下載安裝,或是硬體需求感到頭痛嗎?

你曾經覺得使用Jupyter Notebook要每次啟動server才能使用很麻煩嗎?


今天我們就來跟大家介紹一下Google的Colab!


Colab (全名:Colaboratory)是一個Google的線上產品,能夠讓我們編輯並且執行Python程式的雲端平台。內建許多常用的Python套件,是一個相當熱門的Python及Data Science教學與實作工具。


介面相當簡單直覺,如果有用過Jupyter Notebook的人應該馬上就可以上手。跟其他的Google產品一樣,不但可將檔案存在你的Google Drive,還可以輕鬆的分享給其他人!


OK, 話不多說,首先進入Colab的網頁,來看一下Colab的使用介面:



一進去,類似這樣的頁面會跳出來,同時給我們不少選項(包括一些範例)。這裡我們就直接開一個新的notebook:




接著會跳出以下的介面,在左上角可以看到檔名。原始設定(default)叫做Untitled.ipynb,如果有同樣的檔名已存在,它會自動加個流水號數字在後面(像是Untitled1.ipynb)以作區隔。當你去按一下它就可以改變檔名。



OK,基本上這樣你可以開始寫Code了(會不會太容易啊)!




我們將Code寫入Cell(上圖打Code的地方稱之為Cell)中,然後點左邊的按鈕即可執行。

Cool! Happy coding~謝謝大家收看。







⋯⋯好啦,是有這麼偷懶 😝


當然還沒完。

今天的重點,我們要來看看幾個Colab提供的相當酷的功能!



Text格式


首先要看的是,除了Code以外,Colab的Cell還有另外一種模式:Text


Colab建立在Jupyter Notebook之上,身為一個熱門的Data Science的平台,除了寫程式以外,它還有一個重要的目的:能讓使用者直接用來跟非技術人員分享。這時候,清楚易讀的介面就相當重要了。


Text模式能夠讓我們做出各種文字的格式及排版,有助於方便閱讀及美觀。



當你選擇 + Text的時候,跳出來的新的Cell屬於Text的模式。


Text模式除了可以讓你做一般打字外,最主要是它應用Markdown語法,來呈現你要的文字型式或Style。


舉例來說,當你用 句子的最前面加上”#" 的話,整個句子就會變大變粗,形成所謂的標題

(heading) 。如果你用 "##" 話就會形成次標題(小一點的標題)。用"###"的話就是次次標題,以此類推...




其他還有像是粗體的話會用 兩個星號(** )把內容包起來。不過其實在Colab上,你可以直接用選的,所以記不住(或者懶得查)這些語法也不是問題(純Jupyter Notebook就沒這麼好了)。參考下圖:





Colab的Text模式還有一個相當酷的功能,就是可以生成數學公式的文字圖像:

譬如說如果你打:


$e^x=\sum_{i=0}^\infty \frac{1}{i!}x^i$




Colab利用Latex的語法來製作數學圖形,有興趣可以參考這裡



使用樣本Code


我們在使用一些第三方的Python Library的時候往往會需要去查詢它的API的使用方法,甚至有時候就是單純Copy & Paste。這很正常,除非是經常使用,不然大部分的情況都不太會刻意記下這些特殊函數的使用方法。


Colab有針對一些好用但較複雜的程式功能提供一些內建的code example,省去我們不少麻煩。


看看以下的例子:



在介面左邊點一下 "< >" 的圖形,之後就可以選擇或者用關鍵字來過濾你有興趣的Code範例(Code snipets)。這裡我們打入"Visual" ,它就會跳出一些跟圖像有關的例子。你可以使用 "Insert"來將Code範例加入你的Cell裡,然後直接執行它!


上面看到的例子是Colab採用Altair的圖形支援,幫助我們製作精美又強大的圖形功能,大大的降低了學習的時間及門檻喔~


其他還有許多好用又有趣的Code範例,之後有機會可以再寫一些相關的文章。



使用Form來輸入Input Variable


假設你有一個這樣的程式來計算BMI(身體質量指數)


weight_kg = 80
height_m = 1.75
BMI = weight_kg / height_m ** 2
print(BMI)


當每次要改weight_kg和height_m這兩個Variable的時候,都要到Code的部分去改,是不是有點麻煩?


尤其如果你想要分享這個功能的時候,是不是希望其他人可以直接輸入Input的數值(不需要去改Code),就可以看到BMI的結果?


這裡我們可以利用Colab的Form功能來做一個互動式的輸入表格!





利用在variable的定義後面加上 #@param {type: "number"} 這樣的語法,Colab會製造出表格(Form)的形式,讓我們可用輸入數值的方式來改變執行的結果。

如果想要把Code給隱藏起來,只需要在表格的部分點兩下(double click)就好了。


我們也可以利用Colab提供的部件(widget)來編修表格,


譬如說,加上標題 BMI Calculator:



透過這種方式,我們可以利用Colab來做出簡單的使用者互動介面(UI),只要一個連結就可以分享給其他人喔!



結語


今天簡單的介紹了Colab的介面以及一些功能。


當然Colab還有許多其他強大的功能,其中一個我覺得相當有用的就是跟Google工具的整合。譬如說:Google Sheet。由於Google Sheet跟Microsoft Excel的很多功能都互通,不需要安裝(又免費)以及方便共享,最近我們看到的趨勢,大家慢慢從Excel轉換到雲端的Google Sheets。


Colab提供了一個平台能夠讓我們跟輕易的跟這些Google產品做自動化(Automation)的作業整合!如果大家有興趣想要看這一類的文章請跟我們說 😃!


最後,如果你比較習慣中文介面的話,雖然不是全部,但Google Colab大部分的頁面也有對應中文喔!


Yorumlar


Post: Blog2_Post
bottom of page