互联网资讯 / 人工智能 · 2023年11月9日 0

20个Colab技巧

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

20个Colab技巧

1. 便捷的临时 Notebook

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

20个Colab技巧

为避免这一问题,可以将以下链接保存为书签:https://colab.ReSeaRch.Google.coM/notebooks/eMpty.IPynb

这个链接将打开一个特殊的 Scratch Notebook,任何在其中的修改都不会影响到你的主目录。

2. 计时单元执行

通常,我们会手动计算代码的执行时间。Colab 提供了内置功能,执行单元后,将鼠标悬停在单元运行图标上即可查看代码的执行时间。

20个Colab技巧

3. 部分单元执行

你可以选择单元的一部分进行执行,点击 Runtime 菜单中的 Run Selection 按钮,或者使用键盘快捷键 Ctrl + Shift + Enter。

20个Colab技巧

4. Jupyter Notebook 快捷键

快捷键为编程提供了便利,但 Jupyter Notebook 的快捷键在 Colab 中并不直接适用。不过,你只需在 Jupyter 的快捷键前加上「Ctrl + M」即可在 Colab 中使用,大部分快捷键都适用此规则。

20个Colab技巧

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

20个Colab技巧

5. 跳转至类定义

与 IDE 类似,你可以按住 Ctrl 键并单击类名以跳转到其定义。例如,按 Ctrl 并单击 Dense 类名,就可以查看 Keras 中 Dense 层的类定义。

20个Colab技巧

6. 从 GitHub 打开 Notebook

Google Colab 团队提供了官方的 Chrome 扩展。使用 Colab 时,可以直接在 GitHub 上打开 notebooks。

扩展的下载地址为:https://chRoMe.Google.coM/websTore/detAIl/open-in-colab/iogfkhleblhcPCekBIedikdehleodpjo

安装后,单击 GitHub notebook 的 Colab 图标即可直接打开。

20个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()

20个Colab技巧

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

20个Colab技巧

10. 资源限制查看

Colab 提供了免费和专业版的规格。如果你需要更好的运行时间、GPU 和内存,可以选择每月 10 美元的专业版。

20个Colab技巧

你可以运行以下命令查看分配到的 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 命令。

20个Colab技巧

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

20个Colab技巧

12. 当前内存和存储使用情况

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

20个Colab技巧

13. 添加「Open in Colab」标志

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

20个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 提供了一个扩展,用于向 pandas DataFrames 添加交互式排序和过滤功能。使用前,请运行以下代码。

%load_ext google.colab.data_table

在加载扩展后,你可以使用常规的 pandas DataFrame 和交互式 DataFrame。

20个Colab技巧

20个Colab技巧

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。

20个Colab技巧

17. 运行后台任务

在某些情况下,需要先启动一些 Web 服务器或后台任务,才能执行后续程序。

要运行后台任务,可以使用「nohup」命令,并在常规 Shell 命令末尾添加「&」使其在后台运行。这样可以确保后续的 notebook 单元不会被后台任务中断。

!nohup bash PING.sh &

18. 设置训练完成提醒

如果你要执行耗时较长的任务(如模型训练),可以设置 Colab 在完成后发送桌面通知。

为启用此功能,前往「工具 ⮕ 设置 ⮕ 网站」,并勾选「显示桌面通知」复选框。

20个Colab技巧

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

19. 运行 JavaScript