推薦Python初學者的好用工具:Google Colab
推薦Python初學者的好用工具:Google Colab
2019.03.20 | Google

編按:本文作者為大學教授,這篇文章是他有關Python學習的方法分享。

這個學期,我在北德克薩斯大學(University of North Texas)教「INFO 5731: Computational Methods for Information Systems」課程,主要內容包括: Python基礎、自然語言處理,以及機器學習。

授課的對像是資訊科學、數據科學專業的碩士與博士研究生。跟在中國一樣,我依然使用翻轉教學(flipped instruction)方式。過去的幾週,我們把「Python基礎」部分學完了。

每週,我都會要求學生在課前閱讀兩本教材上的指定章節,然後把所有的程式碼自己重複一遍。在此基礎上,對每一段程式碼,學生都要自己試著進行一些改動。出錯也沒有關係,嘗試解決。

因為絕大部分學生,都是Python初學者。因此他們都會遇到以下的實際問題:

  • 不知道如何安裝和設置運行環境;
  • 遇到問題會慌亂,不知如何有效尋找解決方法;
  • 對於團隊作業,不知該如何有效協作;
  • 不懂得如何進行版本控制,程式碼越改越亂。

這些問題,也構成了學生的痛點。

如果不能有效加以解決,學生會把每週寶貴的學習時間,浪費到許多瑣碎的無用功上。更可能的情況,是他們的信心會被打擊,導致喪失學習的動力和興趣。

因此,我為他們找到了一款合適的Python練習工具。這裡,我把這款工具也分享給你。

這款工具,就是Google Colab。我曾經在〈如何免費雲端運行Python深度學習框架?〉一文中為你介紹過它,在〈如何用Python和循環神經網絡做中文文本分類?〉和〈如何用Python和循環神經網絡預測嚴重交通擁堵?〉裡,我也曾用它給你做過程式碼的展示。

下面,我給你們介紹一下如何用Google Colab應對上述的4個痛點,為你的Python練習提供輔助。

環境

新手最常見的問題,就是好不容易累積了學習的興趣,上手不久便遇到報錯。而Python新手遇到的許多錯誤,實際上都和環境的配置有關。例如說,Anaconda套件下載環節,你就不知道該選擇哪個版本。

好不容易安裝好了,因為路徑設置問題,連Jupyter Notebook都呼叫不出來。終於能輸入程式碼了。結果一輸入就提示,你要調用的模塊名稱,沒聽說過!

而這些,Google Colab都幫你處理好了。只需要打開一個瀏覽器(推薦Google Chrome或者Firefox),輸入:https://colab.research.google.com就可以看到以下頁面。

Google Colab
圖/ 作者提供

選擇新建Python 3筆記本,然後就能看到完全配置好的Python運行環境了。

Google Colab
圖/ 作者提供

對,就是這麼簡單。你可別小看這個運行環境,雖然你沒有執行任何安裝過程,但是它基本上涵蓋了你做數據科學分析要用到的各種工具,這些工具包括但不限於Numpy、Scipy、Pandas等,甚至連深度學習的框架,例如Tensorflow、Keras和Pytorch,也是一應俱全。

Google Colab的深度學習環境支援,可不只是軟體那麼簡單。Google慷慨的提供了GPU,甚至是更專業化的TPU,供你免費使用。

預設狀態下,這些雲端硬體是不開啟的。你需要在選單欄中選擇runtime,然後選擇Change runtime type,就可以看到不同硬體支援的選項了。

Google Colag
圖/ 作者提供

有的書籍樣例程式碼,甚至是Python組件,都需要Python 2環境才能運行,這也沒關係。點擊新建筆記本,你就能使用不同的Python版本。

細心的你會發現,在上面的「修改運行時設置」頁面裡,也可以隨時調整Python版本。

求助

作為新手,你遇到錯誤和問題,是完全正常的。而Python具有強大的社群,可以提供很多幫助。

但如果你嘗試過,便可能有一種錯覺——這些Python高手很不友善。因為你貼了問題,卻沒人理你。其實,這很可能是你問問題的方式不對。想想看,你籠統地說一個報錯資訊,可能的原因或許有數十甚至上百種,誰能幫你一一排除?這倒也罷了。可是你明明貼了一段程式碼,還給出了錯誤資訊的截圖啊,為什麼還是沒有人伸出援手?因為這些資訊,可能依然不夠。

想想看,你本機安裝了什麼樣的套件?其中的各種模塊,都分別是什麼版本?你執行當前程式碼有問題,那上下文是什麼?會不會是因為之前某個程式碼段落,影響了你當前段落的執行?你的作業系統,是否完全支援你正在使用的組件功能……這些可能性,無窮無盡。同樣,也沒有人這樣花時間幫你列舉。

但是有了Google Colab,你提問的效果卻可以大大提升。因為,你可以用最簡單的方法,讓潛在的回答者復現你的問題。這就是,把你的筆記本共享出去。如下圖,點擊筆記本右上角的Share按鈕。

Google Colab
圖/ 作者提供

在出現的對話框裡,注意選擇權限。選成可以瀏覽(view),就可以了。

然後,選擇「複製鏈接」,鏈接就到了你的剪切板裡面了。把它連同你的文字描述,直接貼到Python的論壇或者課程討論區裡。別人只需要點擊,就能查看你的全部程式碼、報錯資訊。而且,還能運行你的筆記副本。注意,雖然你倆可能用的是不同的作業系統、不同的瀏覽器,但因為都用了Google Colab,你們的Python環境是完全一致的。等到對方解決了問題,他還可以把完整的筆記本再用連結方式分享給你。你的問題於是迎刃而解。

問問題,只是尋求幫助的一個方面。在提問之前,你還是應該自己嘗試一下解決的。毫不願意思考,直接當伸手黨,社區裡的人很難喜歡跟你打交道。而Google Colab為你主動尋找問題答案提供了工具支持。每當你遇到報錯的時候,你都會看到下方有個按鈕。

Google Colab
圖/ 作者提供

點擊這個按鈕, Google Colab就會用搜尋引擎,在Stackoverflow這個IT問答站點上,幫你尋找相關報錯的已有答案。

Google Colab
圖/ 作者提供

一般來說,點擊前幾條資訊,你就會有收穫。例如這次,你就很幸運,因為答案明確說明,這是因為Python版本帶來的差異。你只需要根據提示,進行程式碼的輕微調整,就能正常運行了。

協作

不知你有沒有嘗試過跟人協作編寫程式碼?我的課上,是有小組作業的。要求學生2–3人一組,一起用Python解決問題。有的人,是這樣協作的:自己寫一段程式碼,用郵件傳給對方;對方改完,發回來;自己在上面修改添加,再發回去……

這樣顯然效率很低。有沒有高效的方法?當然有。依然利用我們剛才已經見到過的共享功能。

只是這一次,在選擇權限的時候,給對方「可修改」權限。

Google Colab
圖/ 作者提供

例如還是剛才的print命令沒有加括號的問題。只不過這次,對方除了能看到你的問題,還可以直接編輯。你的協作者,新建了一個代碼塊,並且輸入了正確的資訊。

在你這裡看起來,就是這個樣子的。協作者的頭像,會顯示在對應的修改內容旁邊。這樣一目了然。

Google Colab
圖/ 作者提供

對方還可以在程式碼塊旁,選擇添加註釋。

Google Colab
圖/ 作者提供

例如輸入以下內容。

Google Colab
圖/ 作者提供

你可以同步在自己的筆記本上,看到對方的註釋。

Google Colab
圖/ 作者提供

這樣一來,團隊協作Python練習溝通的效率,自然就高了許多。

注意,為了安全起見,一定只能把該權限,限定在你信任的協作者中。

如果是打算把你的成果展示出來,你可以使用Google Colab與Github的集成功能。如下圖,選擇保存副本到Github。

Google Colab
圖/ 作者提供

然後,選擇你希望保存到的Github專案。

保存完畢後,對應的Github頁面會自動打開,供你預覽。其中可以包含全部的文字、圖片、程式碼和輸出訊息。注意筆記本的頂部,有一個「在Colab打開」的連結。

Google Colab
圖/ 作者提供

點擊它,你就能迅速開啟Google Colab環境,並且直接運行這個Github上的筆記副本。

版本

當你不停地嘗試和改動代碼的時候,很有可能會把問題改得更加糟糕。這時候,你恨不得有一個時光機,可以讓你回到錯誤少一點的時候。這個時光機,Google Colab是提供了的。

點擊選單裡面的Revision history功能,你就能看到當前筆記本已保存的全部歷史版本,包括修改時間、誰改的、文件大小等各種資訊,一應俱全,想回到哪個版本,點一下「恢復」按鈕就可以了。

另外,你也可以把Google Colab筆記本,直接下載成為ipynb文件,在本地保存副本。

一定要注意選擇需要的儲存路徑,避免不知存到哪裡去了。

Google Colab
圖/ 作者提供

我一般讓學生交作業的時候,都需要同時提交Google Colab連結,以及一個ipynb文件。二者的內容,應該是一樣的。既然如此,為什麼還需要提交兩樣東西呢?這個問題,作為思考題,留給你。請注意聯繫本節標題,加以分析。

有了ipynb文件,你可以用本地的Jupyter Notebook開啟。但是如果你只是想查看內容的話,這裡給你推薦一個更好的工具,叫做nteract。它可以幫你直接開啟ipynb文件,用於查看。這樣,你就沒必要每次都用Jupyter Notebook命令開啟後台服務,然後再到瀏覽器中點開對應的ipynb了。

小結

還記得在《如何高效學Python ?》一文中,我給你推薦過的經典教材《笨辦法學Python》吧?

《笨辦法學Python》指出了一條看似笨拙,卻非常有效的學習路徑。我上課的時候,也一直在跟學生們強調——Python這樣的實踐類技能,只能練中學(Learn by doing)。

本文給你推薦的Google Colab,可以幫你解決Python初學者練習實踐Python程式編輯時,最常遇到的幾大痛點。包括:

  • 自動配置
  • 有效求助
  • 協作程式編輯
  • 版本控制

這樣一來,你可以把寶貴的時間,聚焦在技能的掌握和應用;而不是久病成醫,成為「環境配置專家」了。

祝Python程式編輯學習愉快!

本文授權轉載自:少數派;作者:玉樹芝蘭

往下滑看下一篇文章
AI 競爭全新戰場!美光 Mike Cordano:記憶體將成下一個企業戰略制高點
AI 競爭全新戰場!美光 Mike Cordano:記憶體將成下一個企業戰略制高點

從生成式AI訓練、推論,到代理式工作流程(Agentic Workflow)與未來的實體AI,資料流量正以指數級成長,讓記憶體從過去支援運算的配角躍升為決定AI效能與能源效率的關鍵角色。

全球知名的半導體與微電子技術分析機構TechInsights指出,AI競爭正逐漸從晶片算力擴展到記憶體架構設計能力,加速「Computational Memory」等新架構興起;在這波浪潮中,深耕記憶體與儲存技術數十年的美光科技,正與關鍵夥伴展開深度協同設計,包含攜手NVIDIA共同開發適用於新世代資料中心的低功耗記憶體技術,在AI基礎建設的新賽局中成為不可或缺的關鍵。

當GPU不再是唯一主角,記憶體為何躍上AI舞台中央?

過去,半導體的焦點多圍繞在晶片,例如CPU、GPU跟AI加速器等,市場普遍認為,晶片運算能力是左右科技產業發展速度的關鍵,但在進入生成式AI世代後,產業逐漸發現另一個事實:真正限制AI效能的瓶頸不是運算,而是資料能否快速被存取與傳輸。

從大型語言模型訓練,到AI推論、代理式工作流程(Agentic Workflow),甚至未來的機器人與自駕車,龐大的資料流量正持續推升對高頻寬、低延遲、高容量記憶體的需求,讓記憶體產業從過去相對標準化、以價格競爭為主的市場,逐漸轉變為AI基礎建設的重要核心。

「仔細觀察AI應用服務會發現,大多數工作負載都被頻寬限制。」美光科技全球業務執行副總裁Mike Cordano認為,記憶體是突破(頻寬)瓶頸的關鍵,也讓AI競賽從晶片算力升級到記憶體與儲存架構的系統級競爭。這樣的產業洞察,也正是Mike在歷經二十餘年的儲存產業資歷,加上四年半的創投生涯後,選擇加入美光的核心原因之一:在AI重塑產業結構的浪潮下,記憶體將成為這波成長最直接的動能所在。

美光 x 數位時代
美光科技全球業務執行副總裁 Mike Cordano
圖/ 數位時代

從零組件供應商到策略夥伴,記憶體共創時代來臨

AI的崛起,正在改變記憶體廠商與客戶的關係。

過去,記憶體產品多是標準化元件,客戶關注的是價格、供貨與規格;合作模式也偏向短期採購與交易導向。然而隨著AI系統規模愈來愈大,從資料中心、雲端平台到終端裝置,記憶體已經成為決定系統效能的重要關鍵,也因如此,越來越多企業將記憶體視為「策略性資產」,而非單純零組件。

Mike表示:「現在,我們跟客戶合作的時間跨度改變了,在產品正式上市前三到四年便開始合作,從系統架構階段就共同規劃未來需求。」例如,美光科技與NVIDIA共同研發的資料中心所使用的低功耗記憶體,便是雙方提前多年展開深度合作(co-design)的成果。

值得特別注意的是,美光科技除從技術層面與晶片製造商等夥伴共創產品,也在需求層面與客戶進行密切合作,例如,將過去較無約束力、期限僅一年的長期協議(LTA)轉變成為期五年、條款更具約束力的策略性客戶協議(SCA),藉此掌握客戶的未來需求,進而在技術層面做更深度的合作。Mike坦言,深度協同設計是高成本的投入,美光的做法是先廣泛進行市場感知,理解不同場域的需求方向,再與生態系統中的夥伴們展開客製化合作。

從裝置導向轉為Token導向,AI浪潮重寫記憶體成長模式

除了合作模式改變,更大的典範轉移是需求的改變。

Mike解釋,過去記憶體需求跟PC、手機跟伺服器出貨量息息相關,但在AI新世代,推動記憶體需求成長的核心不再是設備數量,而是AI模型所產生的運算與資料消耗量。「AI產業逐漸走向以『Consumption』或『Token』為主的新經濟模式,每一次的模型運算都需要消耗大量的記憶體跟儲存資源,這意味著,即使設備銷量成長趨緩,記憶體需求仍可能持續上升。」

更重要的是,AI應用正從資料中心外擴至手機、PC、自駕車與機器人等場域,儘管不同場域對記憶體的需求不盡相同,但是,Mike認為:所有AI裝置都存在三項共同需求:更快的速度、更大的容量,以及更高的能源效率。

正如Mike在受訪時提到的:「我們最大的挑戰,是如何與客戶和整個生態系保持高度一致,一方面創造供給與產能,另一方面持續推動技術創新。」可以預期,在接下來的五年,記憶體產業面臨的挑戰不僅僅是擴展產能,而是如何與客戶共同規劃需求、同步投入技術創新,而這也是美光科技積極經營AI生態體系的原因。

總的來說,AI帶來的改變,不只是算力提升,而是重新定義整個運算架構:過去,記憶體被視為支援運算的基礎元件;現在,則是決定AI效能、能源效率與創新速度的關鍵資源;當產業競爭從晶片性能延伸到資料流動效率,從裝置數量轉向Token消耗量,記憶體的重要性也將隨之水漲船高,對美光科技來說,這將是其從供應商走向AI生態系核心夥伴的關鍵角色轉變。

登入數位時代會員

開啟專屬自己的主題內容,

每日推播重點文章

閱讀會員專屬文章

請先登入數位時代會員

看更多獨享內容

請先登入數位時代會員

開啟收藏文章功能,

請先登入數位時代會員

開啟訂閱文章分類功能,

請先登入數位時代會員

我還不是會員, 註冊去!
追蹤我們
代理式商務連動百兆商機
© 2026 Business Next Media Corp. All Rights Reserved. 本網站內容未經允許,不得轉載。
106 台北市大安區光復南路102號9樓