「伊人」何處,宛在雲中央:用 Datalab 在雲上部署互動式編程環境

在數據研究中,將大型數據集下載到本地運算環境不僅慢,還會產生很大的開銷。而本期 AI Adventures 就是要幫你解決這一問題,將運算環境部署到數據,順流而下,不但能達到目的,還能減少不必要的開銷。

這是一個系列視頻/文章「AI Adventures」中的第十五篇,由 Google 的開發技術推廣工程師 Yufeng Guo 主講,用通俗易懂的語言幫助你了解人工智慧和機器學習。在這一系列視頻/文章中,我們將一起探秘人工智慧的世界,共同品味藝術、探索科學以及掌握機器學習的工具。

第一篇:機器學習是什麼?

第二篇:機器學習「七步走」

第三篇:用評估器給花卉分類

第四篇:彈性伸縮的雲端託管服務

第五篇:通過 TensorBoard 將模型可視化

第六篇:通過深度神經網路再識評估器

第七篇:雲端訓練模型的大數據解決方案

第八篇:跟著 Google Research 體驗自然語言生成

第九篇:雲上的機器學習引擎

第十篇:使用 MNIST 數據集訓練模型

第十一篇:機器學習工程師用 Python 開發環境的最佳實踐

第十二篇:機器學習之前,讓「大熊貓」先嘗一嘗數據的味道

第十三篇:機器學習大殺器:爆米花般火爆的 Kaggle Kernels

第十四篇:工欲善其事,必先利其器:Jupyter Notebooks 的技巧

所有的內容和視頻都會首發在「機智如你」專欄,目標是發布最新與谷歌相關的機器學習、TensorFlow 相關內容,如果你有任何問題,也歡迎在留言區向我們提出反饋。

還有什麼比互動式 Python 編程環境更贊的呢?當然是一個既方便又高速連接數據的互動式 Python 編程環境啦!

上一期文章中我們了解了 Jupyter 和它的一些實用技巧。這次我們要在雲端使用 Jupyter notebooks,看看它還有哪些更贊的特性。

https://www.zhihu.com/video/947143490820395008

「譯者注」:Yufeng 在視頻中提到的上期視頻鏈接為 YouTube 地址,為了便於讀者觀看,我們提供包含上期視頻的文章地址:工欲善其事,必先利其器:Jupyter Notebooks 的技巧。Yufeng 在視頻中提到 Datalab 自動關閉虛擬機功能時說 30 分鐘後自動關閉,但譯者認為可能是口誤,應該是 90 分鐘。

▍更大的數據量

隨著你使用的雲端數據集越來越龐大,要想在本機操作這些數據也就顯得越來越笨重和複雜。同時,要下載用於測試的數據樣本也越來越難。而本地訓練所需的數據,在下載時又嚴重依賴一個穩定的網路連接。作為數據研究者,我們該如何是好?

如果數據難以下載到本地,不妨將計算相關的內容送到數據所在之處。我們接下來就一起看看怎樣對雲端數據採取就近搭建 Jupyter notebook 的方法。

Google Cloud Datalab 基於大家所熟悉的 Jupyter notebook 設計,同時具備更多功能。比如,它可以輕鬆訪問你的 BigQuery 數據集,在 Google Cloud Storage 快速執行操作,並且還支持 SQL 查詢。這個工具還在 GitHub開源了,所以你完全可以在自己的環境中使用它。

來,跟著我搭一個 Datalab 環境,在雲上配置和運行 Jupyter notebook。


安裝 Datalab 組件時只需執行 gcloud components install datalab。接著你的環境中會多出來一個叫 datalab 的命令行工具。

https://www.zhihu.com/video/946668617203519488

安裝 Datalab 一步到位

啟動 Datalab 也只需一行命令:datalab create

Datalab 仍然會啟動一個本地伺服器(localhost)

這一命令會迅速在你使用的虛擬機(如遠程虛擬主機)上準備好分析並配置網路。之後它還會安裝一系列必要的庫,包括 TensorFlow、Pandas、NumPy 和其他眾多包、庫。

只要 Datalab 啟動了,它將會顯示一個與之前的 Jupyter notebooks 非常接近的界面。不過,與運行於本機的 Jupyter notebooks 不同,Datalab 運行在遠程虛擬機上。Datalab 自帶了一些樣本,非常容易上手。讓我們先看看 docs 目錄下的 Hello World 這個 notebook。

到目前為止,你已經可以使用所選的 notebook 了,不論是執行代碼格還是做一些測試都可以。一切都還是一樣的方便,你不需要管理或者配置各種 Python 包。

來一起看看有哪些內置的額外工具可以使用。點擊右上角的用戶賬戶圖標,可以進行許多配置或者獲取許多其他信息。

首先,當前的 notebook 是以服務賬號的形式運行的。這個賬號本身具備了訪問當前項目中預設文件的許可權了。但如果想要訪問其他項目中的資源,則需要為服務賬號授權(不是給用戶賬戶授權)。

由於 notebook 所在的虛擬機可以被所有具有項目訪問權的用戶使用,所以我們不應將自己的賬戶憑據暴露於 Datalab 中。

繼續往下看,我們的 notebook 是運行在一台名叫 ai-adventures 的 Google Compute Engine (GCE) 虛擬機上的。點擊 stop VM 即可隨時關閉虛擬機。

默認情況下,Datalab 會在空閑 90 分鐘後自行關閉虛擬機。你可以點擊下面的倒計時提示來關閉這個功能。

當然,90 分鐘的超時是可以調節的。進入下方的設置即可看到調整方法。不論虛擬機重啟多少次,這個值都會保持你的自定義設置,而如果設置為 0,則虛擬機永遠不會自動關閉。

在這個設置面板中,我們還可以為 Datalab 指定深或淺兩種配色方案。

好了,Datalab 已經配置完成,而此時我們也熟悉了環境,那就來看看 Datalab 能做些什麼吧!

▍Datalab 使用舉例

下面我將會用一個描述 Github 上編程語言間關聯性的案例來演示 Datalab。這個案例的目的是描述「當你使用 A 語言時,有多大可能性會也使用 B 語言」。這個 notebook 在 docs 目錄下的 samples 中可以找到。你也可以在 Github 上找到它。

建議回看視頻以加深印象

▍這裡對應視頻 5 分左右開始的內容,Yufeng 把操作都錄製在了視頻當中,但沒有將具體操作寫下來。讀者可以回過頭再看視頻,加深印象後繼續閱讀。

這個分析僅僅會使用碩大的 Github 公共數據集的一小部分樣本。如果你想用上完整 Github 提交歷史,則請查看這個數據集,對應的使用指南在這裡。

▍結語和後續步驟

Datalab 非常適合於運行基於雲的 notebook,這些 notebook 往往就與你的數據在同一處或是接近的位置。Datalab 自帶眾多方便的連接工具,比如 BigQuery。並且它還很輕鬆就能實現授權後與你的雲端資料庫連接。

快去嘗試一下 Datalab 吧,試一試才知道它是否正適合你!


感謝閱讀本期 Cloud AI Adventures。如果你喜歡這些文章,請點個贊,如果你想獲得更多內容,請關注我或者 Yufeng 的 Medium 並且關注「機智如你」專欄或者 YouTube 頻道。更多精彩內容不容錯過!


▏原文出處:Medium - How to Datalab: Running notebooks against large datasets

▏封面來源:YouTube 視頻縮略圖

▏視頻出處:YouTube - Datalab: Notebook in the Cloud

▏字幕翻譯:谷創字幕組

▏文章編輯: @楊棟

「章節附註」:Google Compute Engine 是 Google 推出的可擴展高性能虛擬機,其工具和工作流支持從單一實例擴容到覆蓋全球的負載平衡的雲端計算系統。

最後,祝大家新年快樂!


推薦閱讀:

阿里雲發力人工智慧,殺入醫療、工業勝算幾何?
從0到數千萬日活,靠什麼?音樂+社交
智慧城市的互聯網雲腦架構,7種城市神經反射弧的建設是重點
鄭葉來:為什麼華為雲的「三不」很重要
「直播聯盟」解3大難題,為何偏偏由樂視雲執牛耳?

TAG:JupyterNotebookIPythonNotebook | 雲計算 | 機器學習 |