Google Colab 为众多 AI 开发者提供了免费的 GPU,能够轻松运行 TensoRflow、PyTorch 等深度学习框架。但你对 Colab 的使用技巧了解多少呢?本文将分享 20 个 Colab 使用技巧,帮助你提升工作效率。

1. 便捷的临时 Notebook
在 Colab 中进行实验时,我们常常创建许多没有标题的临时 Notebook,导致内容杂乱。

为避免这一问题,可以将以下链接保存为书签:https://colab.ReSeaRch.Google.coM/notebooks/eMpty.IPynb
这个链接将打开一个特殊的 Scratch Notebook,任何在其中的修改都不会影响到你的主目录。
2. 计时单元执行
通常,我们会手动计算代码的执行时间。Colab 提供了内置功能,执行单元后,将鼠标悬停在单元运行图标上即可查看代码的执行时间。

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 打开 Notebook
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 Flask
from flask_ngrok import run_with_ngrok
app = Flask(__name__)
run_with_ngrok(app)
@app.route(‘/’)
def hello():
return ‘Hello World!’
if __name__ == ‘__main__’:
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 psutil
RAM_gb = psutil.virtual_memory().total / 1e9
print(RAM_gb)
11. 使用交互式 Shell
Colab 中没有内置的交互终端,但可以通过 bash 命令以交互方式执行 Shell 命令。只需运行下列命令,即可获得交互式输入。
!bash
现在,你可以在输入框中运行任何 Shell 命令。

要退出 Shell,只需在输入框中输入 exit。

12. 当前内存和存储使用情况
Colab 提供了 RAM 和磁盘使用情况的指示器。将鼠标悬停在指示器上,将弹出窗口显示当前内存和存储的使用情况及总容量。

13. 添加「Open in Colab」标志
你可以在 README.md 或 Jupyter notebooks 中使用以下 Markdown 代码添加「Open in Colab」标志。

在这段代码中,我们加载了 SVG 图片,并将其链接到 Colab notebook。
[](https://colab.ReSeaRch.Google.coM/notebooks/baSiC_featuRes_OVeRview.IPynb)
14. Pandas 交互表
Colab 提供了一个扩展,用于向 pandas DataFrames 添加交互式排序和过滤功能。使用前,请运行以下代码。
%load_ext google.colab.data_table
在加载扩展后,你可以使用常规的 pandas DataFrame 和交互式 DataFrame。


15. 设置 Conda 环境
如果你使用 miniconda 作为 Python 环境管理器,可以通过在 notebook 顶部运行以下命令来设置。
# Download miniconda installation script!wget https://repo.anaconda.com/miniconda/miniconda3-latest-linux-x86_64.sh
# Make it executable!chmod +x miniconda3-latest-linux-x86_64.sh
# Start installation in silent mode!bash ./miniconda3-latest-linux-x86_64.sh -b -f -p /usr/local
# Make conda packages available in current environment
import sys
sys.path.append(‘/usr/local/lib/python3.7/site-packages/’)
完成后,你可以正常使用 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 在完成后发送桌面通知。
为启用此功能,前往「工具 ⮕ 设置 ⮕ 网站」,并勾选「显示桌面通知」复选框。

这时会弹出窗口,要求启用浏览器通知。只要接受,即使你在其他选项卡、窗口或应用程序中,Colab 也会在任务完成时通知你。
19. 运行 JavaScript
