Colaboratory

常见问题解答

基础知识

Colaboratory 是什么?

Colaboratory 简称“Colab”,是 Google Research 团队开发的一款产品。在 Colab 中,任何人都可以通过浏览器编写和执行任意 Python 代码。它尤其适合机器学习、数据分析和教育目的。从技术上来说,Colab 是一种托管式 Jupyter 笔记本服务。用户无需设置,就可以直接使用,同时还能获得 GPU 等计算资源的免费使用权限。

它真的可以免费使用吗?

是的。Colab 可免费使用。

这有点好得令人难以置信。有什么限制吗?

Colab 的资源供应没有保证,也不会无限量供应,用量限额有时会变化。只有这样,Colab 才能免费提供资源。如需了解详情,请参阅资源限制

如果用户希望获得更加可靠的权限来使用更加优质的资源,可以订阅 Colab Pro

Colab 中的资源将优先提供给交互式用例。我们禁止各种涉及批量计算、会对他人造成负面影响或试图规避我们政策的操作。Colab 运行时中不允许执行下列操作:

针对付费用户的其他限制请参见此处

Jupyter 和 Colab 有什么区别?

Jupyter 是一个开放源代码项目,而 Colab 是在 Jupyter 基础之上开发的。通过 Colab,您无需下载、安装或运行任何软件,就可以使用 Jupyter 笔记本并与他人共享。

使用 Colab

我的笔记本存储在什么地方?可以共享吗?

Colab 笔记本存储在 Google 云端硬盘上,也可以从 GitHub 加载。您可以共享 Colab 笔记本,就像使用 Google 文档或表格一样。只需点击任一 Colab 笔记本右上角的“共享”按钮,或按照相关 Google 云端硬盘文件共享说明操作。

共享笔记本时,具体会共享哪些内容?

如果您选择共享笔记本,笔记本的全部内容(包括文本、代码、输出项和注释)都会被共享。您可以通过依次选择修改 > 笔记本设置 > 保存此笔记本时忽略代码单元格输出项,将代码单元格输出项排除在保存或共享范围之外。系统不会共享您正在使用的虚拟机(包括您已设置的所有自定义文件和库)。因此,对于那些会安装和加载任何您笔记本需要的自定义文件的单元格,最好将它们纳入其中。

我可以将现有的 Jupyter/IPython 笔记本导入 Colab 吗?

可以。只需从“文件”菜单中选择“上传笔记本”即可。

如何搜索 Colab 笔记本?

您可以使用 Google 云端硬盘搜索 Colab 笔记本。点击笔记本视图左上方的 Colab 徽标将显示云端硬盘中的所有笔记本。您还可以依次选择文件 > 打开笔记本,搜索您最近打开过的笔记本。

我的代码在哪里执行?如果关闭浏览器窗口,我的执行状态会怎样?

代码会在专供您的帐号使用的虚拟机中执行。虚拟机闲置一段时间后会被删除,并且 Colab 服务为虚拟机强制设置了最长有效期。

如何获取数据?

您可以按照相关说明从 Google 云端硬盘下载您已创建的任何 Colab 笔记本,也可以通过 Colab 的“文件”菜单下载笔记本。所有 Colab 笔记本均以开放源代码 Jupyter 笔记本格式 (.ipynb) 存储。

运行我的代码的虚拟机要如何重置?为什么这项设置有时用不了?

您可以依次选择运行时 > 断开连接并删除运行时,将分配给您的所有托管虚拟机恢复到原始状态。在虚拟机运行状况不佳的情况下(例如,在意外覆盖系统文件或安装了不兼容软件的情况下),重置操作会非常有用。Colab 会限制重置操作的频率,以免不必要的资源消耗。如果重置失败,请稍后再试。

为什么 drive.mount() 有时会失败,并提示“超时”?为什么在通过 drive.mount() 装载的文件夹中执行的 I/O 操作有时会失败?

当文件夹中的文件或子文件夹数量太多时,Google 云端硬盘操作可能会出现超时问题。如果有成千上万个项目直接包含在“我的云端硬盘”顶级文件夹中,那么装载该云端硬盘可能会超时。如果重复尝试,最后有可能会成功,因为在超时之前,失败的尝试会在本地缓存部分状态。如果您遇到此问题,请尝试将直接包含在“我的云端硬盘”中的文件和文件夹移至子文件夹。如果在 drive.mount() 运行成功后从其他文件夹中读取数据,可能会出现类似问题。访问含有许多项目的任何文件夹中的项目都可能会导致错误,例如 OSError: [Errno 5] Input/output error。同样,您只需将直接包含的项目移至子文件夹中,便可解决此问题。
请注意,通过将文件或子文件夹移入回收站来将其“删除”可能还不够;如果执行上述操作后问题仍未解决,请务必再清空回收站

为什么“装载 Google 云端硬盘”操作有时会在笔记本中插入代码?

在 Colab 中装载 Google 云端硬盘可允许笔记本中的任何代码访问 Google 云端硬盘中的任何文件。通常,每当用户连接到新的运行时时,我们都会要求用户向笔记本添加一个代码单元格,以手动方式授予此权限。这可以确保用户完全了解向笔记本授予的权限。
在某些情况下,我们只需要获得一次 Google 云端硬盘授权,并在日后的会话中自动重新装载 Google 云端硬盘。为了保护您的文件,我们仅在笔记本通过了多个检查后允许执行此操作。例如,由其他用户修改过的任何笔记本都不会自动装载 Google 云端硬盘。

为什么云端硬盘操作有时会因配额问题而失败?

Google 云端硬盘强制执行各种限制,包括每位用户的操作次数、对每个文件的操作次数以及带宽配额。超出这些限制就会触发上面提到的 Input/output error,并会在 Colab 界面中显示一则通知。常见原因包括:访问常用共享文件,或过快访问太多不同的文件。临时解决办法包括:

为什么云端硬盘操作有时会因存储空间配额问题而失败?

Google 云端硬盘对每位用户可在其中存储的数据量施加了限制。如果云端硬盘操作因 Input/output error 而失败,并且系统通知已超出存储空间配额,请通过 drive.google.com 页面删除一些文件,然后清空回收站以回收存储空间。可能需要过一段时间,回收的存储空间才可供在 Colab 中使用。

如果您想购买更多云端硬盘存储空间,请访问 Google 云端硬盘。注意,购买更多云端硬盘存储空间并不能增加 Colab 虚拟机中的可用磁盘空间,而订阅 Colab Pro 可以。

资源限制

为什么 Colab 不能保证资源供应?

为了能够以较低价格动态提供大量强大的 GPU,Colab 需要保持动态调整用量限额和硬件供应情况的灵活性。

在免费版 Colab 中,用户对 GPU 等高昂资源的访问权限会受到严格限制。对于付费版 Colab,我们的目标是为用户的消费提供高价值的产品和服务。

您可以通过 GCP Marketplace 购买有保证的资源,以便在 Colab 中使用。

Colab 的用量限额是多少?

Colab 之所以能够免费提供资源,部分原因在于它的用量限额是时有变化的动态限额,并且它不会保证资源供应或无限供应资源。也就是说,总体用量限额、空闲超时时长、虚拟机生命周期上限、可用 GPU 类型以及其他因素都会不时变化。Colab 不会公布这些限额,原因之一是它们不仅可能、而且有时确实会快速变化。

您可以在此处购买我们的付费方案来缓解 Colab 的用量限额。对于这些方案,资源可用性同样可能会随时间而动态变化。

您可以通过 GCP Marketplace 购买有保证的资源,以便在 Colab 中使用。

Colab 提供哪些类型的 GPU?

Colab 中的可用 GPU 类型会不时变化。只有这样,Colab 才能免费提供这些资源。

此处购买我们的某个付费方案,即可使用高级 GPU(具体以实际可用情况为准)。

如果您想使用特定的专用硬件,请通过 GCP Marketplace Colab 进行探索。

Colab 中的笔记本可以运行多久?

Colab 会优先处理交互式计算。如果您的系统处于空闲状态,运行时将超时。

在免费版 Colab 中,笔记本最长可以运行 12 小时,具体取决于实际可用情况和您的使用模式。Colab Pro 和随用随付方案会基于您的计算单元余量为您提供更多可用的计算资源。

Colab Pro+ 提供后台执行功能,支持代码连续执行长达 24 小时。只有在代码执行终止时才会因空闲而超时。

您可以在 GCP Marketplace 购买专用虚拟机,以完全缓解运行时限制和空闲超时设置。

Colab 提供多大内存?

在免费版 Colab 中,您可以访问具有标准系统内存配置文件的虚拟机。

在付费版 Colab 中,您可以访问具有高内存系统配置文件的虚拟机(具体以实际可用情况和计算单元余量为准)。

请注意,内存是指系统内存。所有 GPU 芯片具有相同的内存配置文件。

如何才能充分利用 Colab?

请在完成工作后关闭 Colab 标签页,并在没有实际工作需求时避免选用 GPU 或额外的内存。这样,您在 Colab 中遇到用量限额的情况就会减少。通过随用随付方案,您可以在达到限额时随时购买更多计算资源。

如要详细了解如何充分利用付费版 Colab,请参阅充分利用您的 Colab 订阅

系统显示一条消息,提示我没有使用 GPU。我该怎么办?

Colab 提供可选的加速计算环境,包括 GPU 和 TPU。在 GPU 或 TPU 运行时中执行代码不一定代表将使用 GPU 或 TPU。为了避免达到 GPU 使用量上限,我们建议如果没有使用 GPU,请切换为标准运行时。切换方法是:依次选择运行时 > 更改运行时类型,然后将“硬件加速器”设为“无”

要查看如何在 Colab 中利用 GPU 和 TPU 运行时的示例,请参阅支持 GPU 的 TensorFlowColab 中的 TPU 示例笔记本。

其他问题

Colab 支持哪些浏览器?

Colab 支持大多数主流浏览器,并且在 ChromeFirefoxSafari 的最新版本上进行了最全面的测试。

Colab 与 colaboratory.jupyter.org 有什么关系?

2014 年,我们与 Jupyter 开发团队合作发布了该工具的早期版本。自此以后,在内部使用反馈的指引下,Colab 得以不断改进。

是否支持其他编程语言?

Colab 主要支持 Python 及其第三方工具生态系统。据悉,用户希望 Colab 支持其他 Jupyter 内核(例如 R 或 Scala)。我们打算支持这些 Jupyter 内核,但还无法提供预计实现时间。

如果我发现错误或遇到问题,我该联系谁?

您可以打开任意一个 Colab 笔记本,然后转到“帮助”菜单并选择“发送反馈…”。

为什么提示我启用第三方 Cookie?

为了安全地显示各种输出项,Colab 会使用 HTML iframe 和托管在多个单独来源的 Service Worker。只有第三方 Cookie 处于启用状态时,浏览器才能在 iframe 中使用 Service Worker。要启用所有网站的第三方 Cookie 还有另一个方法,就是在浏览器设置中允许以下主机名:googleusercontent.com。

如何更改编辑器的字体?

Colab 对编辑器会使用一般的等宽字体。在大多数现代浏览器中,您都可以配置对哪些字体系列使用等宽设置。下面是一些常见字体系列:

Colab 支持 Python 2 吗?

Colab 已不再支持 Python 2。要了解将代码从 Python 2 迁移到 Python 3 的相关信息,请参阅将 Python 2 代码迁移到 Python 3 一文。

在哪里可以详细了解付费版 Colab?

请参阅注册页面上的常见问题解答部分。

Colab 的付费版本是怎么计费的?

请访问注册页面,了解 Colab Pro、Pro+ 以及随用随付方案的相关信息,包括定价和升级处理方式。

如何使用 Workspace 帐号访问 Colab?

Workspace 用户对 Colab 的访问权限由贵组织的管理员通过 Workspace 开/关控件控制。

Workspace 教育版组织必须征得家长同意,才能让未满 18 周岁的学生通过其 Google Workspace 教育版帐号使用附加服务。您可以借助此通知模板实现这一目的。请务必在附加服务列表中添加 Colab。

如需了解详情,请参阅我们的帮助中心文章与家长和监护人就 Google Workspace 教育版的使用进行沟通。请注意,目前不支持将未满 13 周岁儿童的 Google 帐号用于 Colab。