歡迎光臨
每天分享高質量文章

谷歌出品|推出了史上最強的Python線上編輯器

作者:奔跑的鱷魚
公眾號:菜鳥學Python

今天給大家推薦一款超級強大的線上編輯器Colaboratory,Colaboratory 是一個谷歌提供的 Jupyter notebook環境,不需要進行任何設定就可以使用,並且完全在雲端執行,最重要的是Colaboratory免費,這絕對是谷歌提供的一項的福利啊。下麵就來聊聊Colaboratory的基本用法和牛逼之處。

 

 

01.使用篇

 

1)準備階段

Colaboratory是一款谷歌服務,這裡我推薦使用chrome瀏覽器+谷歌訪問助手,這樣在訪問谷歌相關網站的時候就非常的方便。另外,Colaboratory的正常使用需要依託谷歌賬號,如果沒有的話建議註冊一個。

 

以上工作都完成後,就可以登陸Colaboratory網站來體驗一番了,下麵這幅圖就是Colaboratory(以下簡稱colab)的介紹頁面。

 

 

2)基本用法

用過jupyter notebook的朋友應該對這個介面非常的熟悉,事實上colab的操作與普通的notebook相似度非常高,下麵我們就新建一個Python3的notebook(下圖),簡單地演示一下它的基本用法。

 

在下圖中的程式碼框中輸入Python程式碼,點選左側的按鈕執行程式,就會在下方輸出列印結果,由於程式第一次執行之前colab會自動連線雲端伺服器,所以速度可能會有點慢。

 

值得一提的是,上面這個程式碼框可不是隻能執行Python程式碼,你還可以把它當作ubuntu的終端來使用,只不過要在所有需要執行的指令之前加一個“!”號。例如,我們如果想檢視當前的雲端伺服器中自帶了哪些Python庫的話,可以執行“! pip list”指令,結果如下:

 

可以看到,colab預設安裝了大量的Python第三方庫,就資料科學方面的庫而言,colab的自帶庫應該會比Anaconda更加完善。

 

既然可以使用pip指令,那如果想安裝其他Python庫的時候也可以很方便地安裝了,我拿tushare做了一個試驗,結果如下:

除了python庫之外,使用這種方式還可以執行其他linux指令來部署你自己的雲端環境,別忘了在指令前加一個“!”號就好。

 

 

2.配置篇

 

1).常用配置

我個人認為最常用的配置項主要集中在兩個地方:

一是”工具”中的偏好設定(下圖),在這裡可以設定主題背景(共分light和dark兩種)、縮排寬度等風格,有趣的是colab還自帶coding特效,如果威力等級一欄選擇了“many power”,那麼在寫程式碼的過程中就會產生非常炫酷的效果。

 

二是“修改”中的筆記本設定,這裡可以設定執行時的python版本和硬體加速器。說到這裡不得不佩服谷歌,居然提供了GPU和CPU兩種加速樣式,只要在選項中進行設定,就可以免費獲取額外的算力,這下透過線上編輯器使用TensorFlow再也不是夢想了。

 

除此之外,colab還允許透過共享的方式邀請他人共同討論、完善程式碼;如果你不想將程式碼放到雲端伺服器中執行,還可以連線本地的開發環境執行程式(下圖)。

 

也可以將colab與github相關聯,把notebook中的程式碼備份到GitHub中…關於這些內容,本文不進行詳細說明,有興趣的小夥伴可以自行嘗試。

 

2)雲盤掛載

先來說說掛載雲端硬碟的重要性。colab中的程式碼檔案是放在雲端伺服器中執行的,但儲存的位置卻是同一賬戶的谷歌雲端硬碟,如果不進行關聯設定,colab會預設將notebook檔案放到雲端硬碟根目錄下的“Colab Notebooks”檔案夾中

colab的notebook在雲端伺服器中執行期間是沒辦法直接讀取本地檔案的(比如資料集),如果想讓程式讀取指定檔案,只能將其放到谷歌雲端硬碟中,然後將雲端硬碟掛載到colab。

 

如果在colab中儲存過notebook檔案,系統將會自動關聯你的colab和雲端硬碟賬戶,否則需要在雲端硬碟中進行手動關聯(此處略)。然後在程式碼框中輸入以下程式碼並執行。

!apt-get install -y -qq software-properties-common python-software-properties module-init-tools
!add-apt-repository -y ppa:alessandro-strada/ppa 2>&1 > /dev/null
!apt-get update -qq 2>&1 > /dev/null
!apt-get -y install -qq google-drive-ocamlfuse fuse
from google.colab import auth
auth.authenticate_user()
from oauth2client.client import GoogleCredentials
creds = GoogleCredentials.get_application_default()
import getpass
!google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} < /dev/null 2>&1 | grep URL
vcode = getpass.getpass()
!echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret}

(程式碼可以左右滑動)

 

執行過程中會出現下圖中的提示,點選連結進行授權驗證,將授權碼輸入到連結下的文字框中,按回車鍵繼續執行。註意:不同的環境在這一步的執行情況可能會不太一樣,需要靈活對待。

接著再執行下麵兩行程式碼,由於我在掛載前雲端硬碟中有檔案,所以加上了nonempty引數,否則可以忽視。

!mkdir -p drive 
!google-drive-ocamlfuse -o nonempty drive

 

順利的話,到這裡雲盤掛載就完成了,預設掛載的雲盤根目錄路徑是’drive‘,我們來檢驗一下(下圖),可以看到輸出的內容和雲端硬碟中的檔案是一致的。

這樣一來,我們就可以將檔案放到雲盤中供colab讀取,或者將colab的執行結果輸入到雲盤中了。

 

 

03.教學篇

 

colab作為一款線上編輯器,透過雲端計算讓我們擺脫了裝備的限制,不管什麼裝置,只要能連上 谷歌的網路服務,就可以使用雲端的伺服器,處理雲端的資料集;同時,對於工作地點不固定的人來說,也省去了反覆配置環境和複製檔案的麻煩。

 

然而,colab給自己的定位卻是旨在幫助傳播機器學習培訓和研究成果,所以Colab還關聯了一個非常優秀的機器學習學習平臺。

點選上圖中的“完整課程網站”連結進入教學網站,這裡不僅有非常完善的學習資料,還可以根據每個人的基礎制定不同的學習計劃,更難得的是,無論影片、語音還是文字資料都可以選擇中文樣式(雖然中文朗讀疑似語音合成)。

除了教學網站,colab還有大量互動式機器學習分析的端到端示例(seedbank)供學習和練習,所有seedbank中的專案都可以一鍵匯入colab中執行(下圖)。

關於Colaboratory今天就簡單介紹到這裡,明明是款編輯器,卻集成了教學功能,真的堪稱史上最強。由於篇幅有限,一些細節和功能都沒有介紹,有興趣的同學可以探索體驗一下。

贊(0)

分享創造快樂