Google Colab,简称Colab,是由Google提供的Jupyter Notebook服务,允许通过浏览器编写和执行Python代码。它易于使用,并且与Google账户关联。Colab提供免费的GPU和TPU访问权限,无需配置,并且可以轻松地与社区分享代码。
Colab有着迷人的历史背景。最初,它是Google内部用于数据分析的工具。后来,它被公开发布,自那以后,许多人开始使用这个工具来完成他们的机器学习任务。大多数没有GPU的学生和用户利用Colab的免费资源来运行他们的数据科学实验。
本文收集了一些在Colab中使用的有用技巧和窍门,以使工作更加轻松。尝试列出了阅读这些技巧的大多数来源。这些技巧应该能帮助充分利用Colab笔记本。
通常,Colab为提供免费的GPU资源。但是,如果已经有了自己的GPU,并希望使用Colab的UI,有一个变通方法。用户可以使用以下方法将Colab UI与本地运行环境一起使用:
可以使用这种方法在本地硬件上运行代码,并访问本地文件系统,而不需要离开Colab笔记本。以下文档更深入地介绍了它的工作原理。查看了解更多细节。
如果正在创建多个笔记本,名称类似于“untitled.ipynb”和“untitled1.ipynb”等,那么可能和中的一些人有相同的困扰。如果是这种情况,云端草稿本可能适合。
云端草稿本是一个特定的笔记本,可在以下URL找到——,它不会自动保存到驱动器账户中。它对于实验或非平凡的工作很有帮助,并且不会占用Google驱动器的空间。
即使用户切换到另一个标签页、窗口或应用程序,用户也会在执行完成后收到通知。用户可以通过Tools > Settings > Site > Show desktop notifications(一旦提示,允许浏览器通知)来启用它。
这是一个即使在导航到另一个标签页时也出现的演示通知。
Colab开发得如此之好,以至于它们可以轻松地与GitHub集成。这意味着可以直接在Colab中加载和保存Colab笔记本到GitHub。多亏了Seungjae Ryan Lee,有一个简单的方法可以做到这一点。
当在GitHub上有一个想要在Colab中查看的笔记本时,将URL中的Github替换为githubtocolab,其他保持不变。
在预算有限且在Kaggle上消耗了GPU配额时,这个技巧可能会给带来突破。可以无缝地从Kaggle下载任何数据集到Colab工作空间。以下是应该做的:
点击“创建新的API令牌”选项卡后,会生成一个包含API令牌的kaggle.json文件。在Google Drive中创建一个名为Kaggle的文件夹,并将kaggle.json文件存储在其中。
在Colab笔记本中挂载驱动器。
import os
os.environ['KAGGLE_CONFIG_DIR'] = "/content/drive/My Drive/Kaggle"
%cd /content/drive/MyDrive/Kaggle
复制要下载的数据集的API。
API位于与竞赛相关联的数据集的“数据”选项卡下。
最后,运行以下任一命令下载数据集:
!kaggle datasets download -d alexanderbader/forbes-billionaires-2021-30
!kaggle competitions download -c google-smartphone-decimeter-challenge
如果想在驱动器中搜索特定的Colab笔记本?转到驱动器搜索框并添加:
application/vnd.google.colaboratory
它将列出Google Drive中的所有笔记本。此外,还可以指定笔记本的标题和所有权。例如,如果要搜索很久以前创建的笔记本,标题中包含“Transfer”,以下方法可以帮助找到它:
Colab包括一个扩展,用于将pandas数据框加载到可以动态排序、过滤和检查的交互式显示中。在笔记本单元格中输入以下代码以启用Pandas数据框的数据表显示。
%load_ext google.colab.data_table #启用显示
%unload_ext google.colab.data_table #禁用显示
这是一个快速演示:
使用Colab,可以轻松比较两个笔记本。使用View > Diff notebooks从Colab菜单,或导航到,在输入框中粘贴笔记本的URL以查看差异。
由于空闲而断开连接:这是Google Colab的一个显著缺点,相信中的许多人至少经历过一次。决定休息一下,但当回来时,笔记本已经断开连接了!
事实上,如果让笔记本空闲超过30分钟,Google Colab会自动断开它。打开Chrome DevTools,按Windows上的F12或Linux上的ctrl+shift+i,然后在控制台中输入以下JavaScript代码:
function KeepClicking() {
console.log("Clicking");
document.querySelector("colab-connect-button").click();
}
setInterval(KeepClicking, 60000);
这个函数每60秒点击一次连接按钮。因此,Colab认为笔记本不空闲,不应该担心被断开连接!
首先,请注意,当连接到GPU时,只允许一次使用云机器最多12小时。
在这12小时内的某个时候,可能会断开连接。“Colaboratory旨在用于交互式使用”,根据Colab上的FAQ。长时间运行的后台计算,特别是在GPU上,可能会被终止。
TensorBoard是显示深度学习工作流程中指标和可视化的工具。它在Colab中立即可用。
首先加载TensorBoard笔记本扩展:
%load_ext tensorboard
%tensorboard --logdir logs