推薦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新時代。

隨著企業加速推動數位轉型、駭客持續進化攻擊手法,資安早已不是可有可無的保險,而是企業日常營運的「剛性需求」。看準資安市場商機,合勤集團(Zyxel Group)近年來積極透過旗下3家子公司—兆勤科技、黑貓資訊與勤晁科技佈局資安防線。在日前登場的CYBERSEC 2025台灣資安大會上,更以「資安特勤,偕同出擊」為主題,展示一個涵蓋AI 驅動的雲地整合防禦、智慧資安維運服務到高規格跨域網路安全與加解密的完整防禦體系,不僅吸引大批與會者駐足,成為展場人氣最旺的攤位之一,更充分展現合勤集團在資安領域的強勁實力與市場吸引力。

兆勤科技祭出雙軌策略,助攻中小企業資安升級

根據統計,2024年的目標式勒索資安事件,高達90%是以中小企業為攻擊目標,顯見,資安防護不再是大型企業才需要關注的課題,中小企業的資安需求同樣迫切且不容忽視。

「然而,中小企業因為缺乏資安專業人才及預算有限,不易做好資安管理,再加上近年來網路攻擊手法多變且複雜,更加深應對威脅的難度,」兆勤科技總經理蔡明見一語道出中小企業的資安挑戰。為此,兆勤科技祭出「簡化管理、強化服務能量」的雙軌策略,持續精進雲端網路安全解決方案,讓中小企業能夠以最少資源完成資安佈署工作。

在簡化管理上,兆勤科技以Nebula雲端管理平台為核心,透過以下3大機制,達到簡化管理負擔的目標。首先,在Nebula平台導入雲地共融技術,讓雲地兩端的安全策略及網路設定可以同步,突破傳統網路設備管理模式只能本地或雲端二選一的限制,也為企業網路管理提供更多彈性,企業可以先採用本地管理,待習慣雲端操作時,再一鍵轉移到雲端,無需重新配置、也不需更換設備,大幅降低轉型門檻,打造跨平台的一致性防護。

合勤科技
兆勤科技總經理蔡明見
圖/ 數位時代

其次,Nebula平台除了可以集中管理防火牆、交換器、無線AP等各個網路設備,設定介面亦相當簡單好操作,透過各種方式例如:事先預設基礎設定、掃描條碼即可將設備加入網路等,讓使用者即便不是專業IT人員,可以輕鬆完成設定、掌握整體網路狀態,大幅降低學習門檻與提高管理效率。

第三、Nebula平台可以自動接收韌體更新與漏洞修補程式,避免因人力不足而忽略系統維護與更新的風險。

在強化服務能量上,兆勤科技積極輔導經銷或通路夥伴建立服務能量,滿足中小企業對網路代管服務的需求。「這是能為中小企業、夥伴與兆勤創造3贏的做法,」蔡明見說明,藉由Nebula平台可以遠端管理的特性,使經銷或通路夥伴能夠一次管理上百個客戶的網路設備,並以訂閱制收取服務費用,成功由傳統硬體銷售轉型為網路代管服務提供者,同時也讓中小企業得以使用網路代管服務,近來,兆勤更推出pay-as-you-go金流方案,協助夥伴降低資金壓力,加速拓展服務市場。

黑貓資訊破除IT與資安斷層,強化內部防禦

合勤集團旗下專注於資安顧問及託管服務的黑貓資訊,自2017年由合勤投控公司資安部門分拆出來後,便聚焦在解決企業 IT 與資安協同作業的挑戰。「企業內網管理的盲點有很多,但IT與資安的協作斷層,是目前最常見也最迫切要解決的問題,」黑貓資訊總經理游政卿說。

IT與資安雖然密不可分,但實務上,企業通常將IT與資安劃分成2個團隊,且彼此的工作重點也不相同,IT 團隊專注資源調度、確保系統穩定與效能,資安團隊則忙於應對警報和威脅,這種分工模式不只讓攻擊者有機可乘,更會令IT團隊誤以為資安只會加重工作負擔。

合勤科技
黑貓資訊總經理游政卿
圖/ 數位時代

「資安的價值,應該從協助IT部門解決問題開始,而不是增加負擔。」游政卿強調,因此,資安團隊首先要做的就是「與IT同在」,從理解IT團隊的需求、解決痛點到取得信任,雙方才能進一步協作,共同應對日益複雜的網路威脅。

以IT資產盤點為例,這是IT團隊相當重要又很耗時費力的工作,而資安團隊可以透過端點安全解決方案(EDR)進行資產盤點,先協助IT團隊掌握所有終端設備的型號、使用狀況與更新需求,再延伸到端點安全防護議題,如此不僅減輕IT負擔,也讓資安建置更具體有感。

除了IT與資安的協作斷層外,包括資產與風險能見度不足、過度依賴邊界防禦,忽略內部橫向移動的風險、以傳統基於特徵碼的靜態防禦機制為主,無法有效應對快速變化的動態威脅、對於第三方軟硬體與的安全把關不足等,亦是企業內網管理常見的盲點。

對此,黑貓資訊憑藉深厚技術底蘊,自主研發多元資安解決方案與服務。在解決方案端,推出在如同樂隊指揮家的智慧XDR防護平台,可協調整合多源資安日誌,並結合AI技術大幅提昇威脅偵測的精準度,亦有可部署於地端(On-premise)的SIEM 解決方案,滿足企業對資料落地、合規與客製化的需求。在服務端,不僅提供24 X7全年無休的MDR/SIEM/SOC 託管式監控服務,更同步提供滲透測試、弱點掃描、供應鏈風險檢測等服務。

值得一提的是,黑貓資訊目前正積極申請ISO 17025資通安全檢測實驗室認證,導入NIST SP 800-115測試流程,協助企業確保所導入的資安方案具備可驗證性與國際標準接軌能力。

在數位轉型成為企業生存關鍵的當下,資安已成為業務穩定與品牌信任的保證。合勤集團透過兆勤科技的雲地整合資安服務、黑貓資訊的智慧防護與專業服務,以及勤晁科技的高規安全方案「偕同出擊」,建構出一條完整而具彈性的資安防線,讓不同需求的客戶都能享有最合適與全面的資安保障,更有信心邁向AI新時代。

登入數位時代會員

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

每日推播重點文章

閱讀會員專屬文章

請先登入數位時代會員

看更多獨享內容

請先登入數位時代會員

開啟收藏文章功能,

請先登入數位時代會員

開啟訂閱文章分類功能,

請先登入數位時代會員

我還不是會員, 註冊去!
追蹤我們
AI全球100+台灣50
© 2025 Business Next Media Corp. All Rights Reserved. 本網站內容未經允許,不得轉載。
106 台北市大安區光復南路102號9樓