20種小技巧,玩轉Google Colab

2020-09-27 機器之心Pro

選自amitness.com

作者:Amit Chaudhary

機器之心編譯

編輯:陳萍

Google Colab 給廣大的 AI 開發者提供了免費的 GPU,你可以在上面輕鬆地跑 Tensorflow、Pytorch 等深度學習框架。但關於 Colab 的使用技巧你又掌握了多少呢?這篇文章將介紹 20 種 Colab 使用技巧,幫你提高使用效率。

1. 便籤本 Notebook

當我們在 colab 上嘗試一些臨時的東西時,我們會創建一堆雜亂、沒有標題的 Notebook。

為了解決這個問題,你可以把以下連結加入書籤:https://colab.research.google.com/notebooks/empty.ipynb

這將打開一個特殊的 scratch notebook,並且你對該 notebook 所做的任何更改都不會保存到你的主目錄中。

2. 單元計時

通常,我們手動計算一段代碼的開始時間和結束時間之間的差值來衡量所花費的時間。Colab 提供了內置功能來執行此操作。在執行了一個單元(cell)之後,將滑鼠懸停在單元運行圖標上,你將獲得代碼執行時間的估計值。

3. 運行某個單元的一部分

你也可以運行某個單元的一部分,通過選擇單元格並點擊 Runtime 索引到 Run Selection 按鈕或使用鍵盤快捷鍵 Ctrl + Shift + Enter。

4. Jupyter Notebook 快捷鍵

快捷鍵為編程帶來了便利,但 Jupyter Notebook 中的快捷鍵不能直接在 Colab 中使用。不過,這裡有一個關係映射表來解決這一問題。從中可以看出,你只需要在 Jupyter 的快捷鍵前面加上「Ctrl +M」就能在 Colab 中使用。此規則適用於大多數快捷鍵。

以下是一些特例,其快捷方式已完全更改或保持不變。

5. 跳轉到類定義

與 IDE 相似,你可以通過按 Ctrl 鍵,然後單擊一個類名來跳轉到類定義。例如,在這裡我們通過按 Ctrl 並單擊 Dense 類名來查看 Keras 中 Dense 層的類定義。

6. 在 github 中打開 Notebooks

Google Colab 團隊提供了官方的 Chrome 擴展程序。使用 colab 時,可以直接在 GitHub 上打開 notebooks。

擴展程序下載地址:https://chrome.google.com/webstore/detail/open-in-colab/iogfkhleblhcpcekbiedikdehleodpjo

安裝後,單擊 GitHub notebook 的 colab 圖標直接將其打開。

或者,你也可以手動打開 GitHub notebook,將 github.com 替換為 colab.research.google.com/github 即可。

https://github.com/fastai/course-v3/blob/master/nbs/dl1/00_notebook_tutorial.ipynb

替換為

https://colab.research.google.com/github/fastai/course-v3/blob/master/nbs/dl1/00_notebook_tutorial.ipynb

甚至更簡單的方法是用 githubtocolab.com 替換 github.com。

https://github.com/fastai/course-v3/blob/master/nbs/dl1/00_notebook_tutorial.ipynb

替換為

https://githubtocolab.com/fastai/course-v3/blob/master/nbs/dl1/00_notebook_tutorial.ipynb

7. 從 Colab 運行 Flask 應用

使用 flask-ngrok 庫(https://github.com/gstaff/flask-ngrok),你可以輕鬆地將運行在 colab 上的 Flask Web 應用程式轉換為一個 demo 原型。

首先,你需要安裝 flask 和 flask-ngrok。

!pip install flask-ngrok flask==0.12.2

然後,你只需要將「flask app」對象傳遞給「run_with_ngrok」函數,它將在啟動伺服器時公開 ngrok 端點。

from flask import Flaskfrom flask_ngrok import run_with_ngrok

app = Flask(__name__)run_with_ngrok(app)

@app.route(&39;)def hello(): return &39; if __name__ == &39;: app.run()

8. 在 Tensorflow 版本之間切換

你可以很容易地在 Tensorflow 1 和 Tensorflow 2 之間切換。

要切換到 Tensorflow 1.15.2,請使用以下命令:

%tensorflow_version 1.x

要切換到 Tensorflow 2.2,請運行以下命令:

%tensorflow_version 2.x

你需要重新啟動才能生效。出於性能考慮,Colab 建議使用預安裝的 Tensorflow 版本,而不是用 pip 命令安裝它。

9. Tensorboard 集成

Colab 還提供了一個命令,可以直接從 notebook 使用 Tensorboard。你只需要使用 --logdir 設置日誌目錄位置。

你可以從官方 notebook 學到它的使用方法:https://colab.research.google.com/github/tensorflow/tensorboard/blob/master/docs/tensorboard_in_notebooks.ipynb。

%load_ext tensorboard%tensorboard --logdir logs

10. 查看資源限制

Colab 為他們的免費版本和專業版本提供了以下規格。根據自己的情況,如果你需要更好的運行時間、GPU 和內存,你可以以每月 10 美元的價格切換到專業版本。

可以通過運行以下命令查看你已經被分配到的 GPU:

!nvidia-smi

有關 CPU 的信息,可以運行此命令:

!cat /proc/cpuinfo

此外,你還可以通過運行以下命令查看 RAM 容量

import psutilram_gb = psutil.virtual_memory().total / 1e9print(ram_gb)

11. 使用交互式 shell

Colab 中沒有內置的交互終端。但是可以使用 bash 命令以交互方式試用 shell 命令。只需運行此命令,你將獲得交互式輸入。

!bash

現在,你可以在給定的輸入框中運行任何 shell 命令。

要退出 shell,只需在輸入框中鍵入 exit。

12. 當前的內存和存儲使用情況

Colab 提供了 RAM 和磁碟使用情況的指示器。如果將滑鼠懸停在指示器上,將彈出一個窗口,其中包含當前內存和存儲使用情況和總容量。

13.「Open in Colab」 標誌

你可以使用如下 markdown 代碼在 README.md 或 jupyter notebooks 中添加「Open in Colab 」標誌。

在這段代碼中,我們正在加載 SVG 圖片,然後將其連結到 colab notebook。

[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/notebooks/basic_features_overview.ipynb)

14. Pandas 交互表

Colab 提供了一個 notebook 擴展,用於向 pandas dataframes 添加交互式排序和過濾功能。要使用它,請運行以下代碼。

%load_ext google.colab.data_table

在加載下面的擴展之後,你可以看到常規的 pandas dataframe 和交互式 dataframe。

15. 設置 Conda 環境

如果將 miniconda 用作 python 環境管理器,你可以通過在 notebook 頂部運行以下命令,在 colab 上對其進行設置。

Make it executable!chmod +x Miniconda3-latest-Linux-x86_64.sh Make conda packages available in current environmentimport syssys.path.append(&39;)

執行完單元後,你可以照常使用 conda 安裝軟體包。

!conda install -y flask

16. 從命令行管理 Colab Notebooks

你可以使用名為 colab-cli 的庫輕鬆創建 colab notebooks 並將其與本地 notebooks 同步:https://github.com/Akshay090/colab-cli

17. 運行後臺任務

在某些情況下,我們需要先啟動一些 Web 伺服器或後臺任務,然後才能執行常規程序。

要運行後臺任務,請使用「nohup」命令,然後使用常規的 shell 命令,並在末尾添加「&」使其在後臺運行。這樣確保可以在之後的 notebook 中運行單元,而不會被後臺任務終止。

!nohup bash ping.sh &

18. 提醒訓練完成

如果你要執行耗時較長的任務(例如訓練模型),你可以將 Colab 設置為在完成後發送桌面通知。

要啟用此功能,請轉到「Tools ⮕ Settings ⮕ Site」,然後啟用「Show desktop notifications」複選框。

這時將彈出一個窗口,以啟用瀏覽器通知。只要接受它,即使你在另一個選項卡、窗口或應用程式上,colab 也會在任務完成時通知你。

19. 運行 javascript 代碼

使用 %%javascript 命令運行 javascript 代碼。

20. 在 Colab 上運行 VSCode

你可以在 Colab 上運行完整的 VSCode。請參考文檔:https://amitness.com/vscode-on-colab/。

原文連結:https://amitness.com/2020/06/google-colaboratory-tips/

相關焦點

  • 20種小技巧,玩轉Google Colab
    但關於 Colab 的使用技巧你又掌握了多少呢?這篇文章將介紹 20 種 Colab 使用技巧,幫你提高使用效率。1. 便籤本 Notebook當我們在 colab 上嘗試一些臨時的東西時,我們會創建一堆雜亂、沒有標題的 Notebook。
  • Colab操作指南
    今天我就跟大家講講怎麼用這個colab(不要問我為啥知道,問就是血淚史)。Colab他還有一個名字叫福音,不,我瞎掰扯的。但是他的確是廣大貧苦學子的福音。好了,鑑於我們真的是一個正經的技術貼,下面開始我們的正題。 Colab是由google研發的,它免費提供CPU、GPU甚至TPU資源。
  • 增值欣狂潮 神行者玩轉google earth全攻略
    增值欣狂潮 神行者玩轉google earth全攻略 [2008-03-17 14:26:18]  太平洋汽車網  來源
  • Colab搞了個大會員,每月50刀訓練不掉線,10刀會員:我卑微了?
    其實上面還有大會員、超級會員、至尊會員……對於沒有 GPU 的小夥伴們來說,谷歌 Colab 是一個公認的「真香」神器,免費的羊毛說薅就薅,薅來的每一根都是賺的。不過,薅羊毛的人多了,毛再多的羊也招架不住。於是,大家發現,免費的羊毛薅起來沒那麼順手了。個把小時掉線一次,你能忍?怎麼辦呢?開會員唄。
  • 如何用 Google Colab 練 Python?
    只需要打開一個瀏覽器(推薦 Google Chrome 或者 Firefox),輸入:https://colab.research.google.com就可以看到以下頁面。想想看,你籠統地說一個報錯信息,可能的原因或許有數十甚至上百種,誰能幫你一一排除?這倒也罷了。可是你明明貼了一段代碼,還給出了錯誤信息的截圖啊。為什麼還是沒有人伸出援手?因為這些信息,可能依然不夠。想想看,你本地安裝了什麼樣的套件?其中的各種模塊,都分別是什麼版本?你執行當前代碼有問題,那上下文是什麼?
  • 薅資本主義羊毛,用Google免費GPU
    地址在這裡,Google還貼心地寫了中文版簡介:https://colab.research.google.com/notebook即便如此,據說還有人不會用?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
  • 教程 | 如何利用Google Colab免費訓練StarCraft II
    如果你想開始使用 FREE StarCraft II 機器學習環境,請先完善 GPU 硬體,您可以看一下我的 Google Colab notebook:https://colab.research.google.com/drive/1AzCKV98UaQQz2aJIeGWlExcxBrpgKsIV最近,我和幾位朋友開始了 StarCraft II 的機器學習項目。
  • Google Calaboratory 的另一個 XSS 漏洞
    四年前我在博客文章中寫了另一個關於通過cookie 引發 XSS 的例子 gmail和google的兩個xss老漏洞分析,所以這裡直接給出攻擊方案:1、如果在 Google 其他任意的子域上存在一個我們能利用的 XSS,例如:some-random-domain.google.com
  • Google的神經網絡表格處理模型TabNet介紹
    正如論文所指出的那樣,「自上而下關注的思想是從處理視覺和語言數據或強化學習中得到的啟發,可以在高維輸入中搜索一小部分相關信息。」 儘管它們與BERT等流行的NLP模型中使用的transformer 有些不同,但執行這種順序關注的構件卻稱為transformer 塊。這些transformer 使用自注意力機制,試圖模擬句子中不同單詞之間的依賴關係。
  • 膽魄技巧 花色型男玩轉斑斕一季(圖文)
    膽魄技巧 花色型男玩轉斑斕一季點擊此處查看全部新聞圖片    從韓劇裡一個個品味不凡、自成一格的男演員,到美國另類節目《粉雄救兵》的時尚男士膽魄技巧 花色型男玩轉斑斕一季點擊此處查看全部新聞圖片    例牌的領帶、腰帶、鞋子等物件,在2006年這個夏天終於顯露出嬉皮而不失優雅的時尚面貌
  • 乾貨 | Google搜索以及檢索技巧
    示例:搜索中文教育科研網站(edu.cn)上關於搜尋引擎技巧的頁面。 搜索:「搜尋引擎技巧 site:edu.cn」結果:已搜索有關搜尋引擎 技巧 site:edu.cn 的中文(簡體)網頁。 注意:site 後的冒號為英文字符,而且,冒號後不能有空格,否則,「site:」 將被作為一個搜索的關鍵字。
  • 五行代碼玩轉GPT-2,新加坡高中生開源輕量級GPT-2「客戶端」
    不管是 117M(小型)GPT-2 模型,還是擁有15億參數的 345M(中型)GPT-2 模型,都能在五行代碼以內輕鬆玩轉。還能用輕鬆適配自定義數據集。就像這樣。實測幾分鐘之後,GPT-2就開始編故事了。
  • 谷歌搜索的16種好玩有趣的技巧
    本文中,我們會和大家一起分享一些有趣好玩的谷歌搜索技巧,從而讓我們可以最大限度地使用TA。在這些技巧的幫助下,能夠讓谷歌更高效更迅速為我們提供想要搜索的內容。 谷歌搜索的16種好玩有趣的技巧 1、使用正確的谷歌網址 我們知道https://www.google.com是谷歌的網址。
  • 【轉】除了google scholar ,還有16種學術搜尋引擎
    2.IEEE/IEE 收錄美國電氣與電子工程師學會(IEEE)和英國電氣工程師學會(IEE)自1988年以來出版的全部150多種期刊,5670餘種會議錄及1350餘種標準的全文信息。在GOOGLE的搜索欄裡輸入:"intitle:試用資料庫 inurl:lib" 便可以快速找到各高校圖書館的**資源了。這些密碼雖然持久不了,但是足夠解燃眉之急。不信請試試看,你一定會有收穫 !用google查密碼or密碼頁http://www.lijinshen.net/03.swfflash 看不見,朋友們到這裡看看,幫助會很大!
  • Google Colaboratory中的TensorFlow入門
    打開Colab筆記本首次使用Colab時,可以在此處啟動新筆記本:https://colab.research.google.com/創建筆記本後,它將保存在您的Google雲端硬碟(Colab Notebooks文件夾)中。
  • 你不一定知道的100條Google搜索技巧
    20.通過高級搜索Google認可13種主要文件格式,其中包括Office,Lotus,PostScript,ShockwaveFlash和text。21.搜索這些文件只需直接使用修飾符filetype:[文件擴展名]。例如:soccerfiletype:pdf。