常见问题解答
基础知识
Colab 是一项托管式 Jupyter 笔记本服务,无需设置即可使用,并可让您免费使用包括 GPU 和 TPU 在内的计算资源。Colab 尤其适合机器学习、数据科学和教育用途。
是的。Colab 可免费使用。
为了向全球尽可能多的学生和资源不足的群体开放,Colab 会优先考虑积极使用笔记本编程的用户。Colab 还会限制对他人产生负面影响或旨在规避 Google 反滥用政策的操作。如需查看禁止的操作列表,请参阅 Colab 中哪些活动受到限制?。Colab 的资源供应没有保证,也不会无限量供应,用量限额有时会变化。只有这样,Colab 才能免费提供资源。如需了解详情,请参阅资源限制。
Colab 管理的运行时禁止对他人造成负面影响的滥用行为以及旨在规避 Google 政策的行为。所有 Colab 管理的运行时中都不允许执行下列操作:
- 文件托管、媒体传送或提供其他与 Colab 的交互式计算无关的 Web 服务
- 下载种子文件或进行点对点文件共享
- 连接到远程代理
- 加密货币挖矿
- 运行拒绝服务攻击
- 破解密码
- 利用多个账号绕过访问权限或资源用量限额
- 进行深度伪造
遗憾的是,由于作恶方试图利用 Colab 提供的计算补贴,因此我们无法更具体地说明我们的滥用检测系统的工作原理。
除了这些限制外,为了向全球的学生和资源不足的群体开放,Colab 会优先考虑积极使用笔记本编程的用户。如果没有 Colab 计算单元余量正值,那么在免费运行 Colab 管理的运行时时不允许执行下列操作,并且可能会在没有警告的情况下随时被终止:
- 远程控制,例如 SSH shell、远程桌面
- 绕过笔记本界面,主要通过网页界面进行交互
- 国际象棋训练
- 运行分布式计算工作器
您可以在此处购买我们的某个付款方案,并保持计算单元余量为正值,即可解除这些类型的限制。您可能会发现,并非所有与说明相符的运行时都会被终止;我们会在合理范围内尽我们所能提供支持,让全球社区受益。
您可以通过 GCP Marketplace 或 Colab Enterprise 购买有保证的资源,而不受 Colab 强制执行的用量限额的影响,也可以通过由您控制的本地运行时使用您自己的计算资源。请注意,这些方法不支持在运行时文件系统中装载 Google 云端硬盘。
为了向全球的学生和资源不足的群体开放,Colab 会优先考虑积极使用笔记本编程的用户。
免费使用层级的用户在尝试绕过笔记本界面,并在 Colab 管理的运行时上使用网页界面生成内容时,通常会遇到运行时终止的情况。虽然这些体验广受欢迎且令人印象深刻,但属于计算密集型,导致我们无法将资源优先提供给免费使用者,协助他们编写程序。
您可以点击此处购买我们的某个付款方案,解除这些类型的限制。
您可以通过 GCP Marketplace 或 Colab Enterprise 购买有保证的资源,而不受 Colab 强制执行的用量限额的影响,也可以通过由您控制的本地运行时使用您自己的计算资源。请注意,这些方法不支持在运行时文件系统中装载 Google 云端硬盘。
Jupyter 是一个开放源代码项目,而 Colab 是在 Jupyter 基础之上开发的。通过 Colab,您无需下载、安装或运行任何软件,就可以使用 Jupyter 笔记本并与他人共享。
使用 Colab
Colab 笔记本存储在 Google 云端硬盘上,也可以从 GitHub 加载。您可以共享 Colab 笔记本,就像使用 Google 文档或表格一样。只需点击任一 Colab 笔记本右上角的“共享”按钮,或按照相关 Google 云端硬盘文件共享说明操作。
如果您选择共享笔记本,笔记本的全部内容(包括文本、代码、输出项和注释)都会被共享。您可以通过依次选择修改 > 笔记本设置 > 保存此笔记本时忽略代码单元格输出项,将代码单元格输出项排除在保存或共享范围之外。系统不会共享您正在使用的虚拟机(包括您已设置的所有自定义文件和库)。因此,对于那些会安装和加载任何您笔记本需要的自定义库或文件的单元格,最好将它们纳入其中。
可以。只需从“文件”菜单中选择“上传笔记本”即可。
您可以使用 Google 云端硬盘搜索 Colab 笔记本。点击笔记本视图左上方的 Colab 徽标将显示云端硬盘中的所有笔记本。您还可以依次选择文件 > 打开笔记本,搜索您最近打开过的笔记本。
代码会在专供您的账号使用的虚拟机中执行。虚拟机闲置一段时间后会被删除,并且 Colab 服务为虚拟机强制设置了最长有效期。
您可以按照相关说明从 Google 云端硬盘下载您已创建的任何 Colab 笔记本,也可以通过 Colab 的“文件”菜单下载笔记本。所有 Colab 笔记本均以开放源代码 Jupyter 笔记本格式 (.ipynb) 存储。
您可以依次选择运行时 > 断开连接并删除运行时,将分配给您的所有托管虚拟机恢复到原始状态。在虚拟机运行状况不佳的情况下(例如,在意外覆盖系统文件或安装了不兼容软件的情况下),重置操作会非常有用。Colab 会限制重置操作的频率,以免不必要的资源消耗。如果重置失败,请稍后再试。
drive.mount()
会提示“超时”?为什么从文件夹中读取数据的 I/O 操作有时会失败?当文件夹中的文件或子文件夹数量太多时,Google 云端硬盘操作可能会出现超时问题。请勿在顶层文件夹“我的云端硬盘”中存储成千上万个项目:如果根目录中存储的项目超过大约 1 万个,装载可能会失败。
如果您遇到此问题,请尝试将直接存放在“我的云端硬盘”中的文件和文件夹移到子文件夹中,不过每个文件夹中包含的项目不得超过 1 万个。
即使成功运行了 drive.mount()
,在从其他文件夹中读取数据时,也可能会出现类似问题。访问包含大量项目的任何文件夹中的项目时,都可能会遇到 OSError: [Errno 5] Input/output error
这样的错误。要解决此问题,您可以将直接包含的项目移至子文件夹中。
请注意,将文件或子文件夹移入回收站来将其“删除”可能还不足够;如果执行上述操作后问题仍未解决,请务必再清空回收站。
您还可以尝试使用 DagsHub Storage,它是 Google 云端硬盘替代方案,专为处理大数据集和机器学习而打造,并且对于 Colab 上常见的工作流类型而言往往更具可伸缩性和可靠性。如需了解详情,请参阅相关文档,或查看示例笔记本。DagsHub 是一项与 Google 无关的第三方服务。
drive.mount()
有时会很慢?存储在 Google 云端硬盘中的文件可能存储在与您的 Colab 运行时相距较远的区域。为最大限度地提高性能,请减少对云端硬盘的读/写操作。请注意,如果文件夹是通过 drive.mount()
装载的,则对此类文件夹的操作依赖于 Colab 运行时。如果您尝试通过 Colab 将文件从一个文件夹移到另一个文件夹,但操作中断,则您可能会丢失所有传输中的数据。
在 Colab 中装载 Google 云端硬盘可允许笔记本中的任何代码访问 Google 云端硬盘中的任何文件。通常,每当用户连接到新的运行时时,我们都会要求用户向笔记本添加一个代码单元格,以手动方式授予此权限。这可以确保用户完全了解向笔记本授予的权限。
在某些情况下,我们只需要获得一次 Google 云端硬盘授权,并在日后的会话中自动重新装载 Google 云端硬盘。为了保护您的文件,我们仅在笔记本通过了多个检查后允许执行此操作。例如,由其他用户修改过的任何笔记本都不会自动装载 Google 云端硬盘。
Google 云端硬盘强制执行各种限制,包括每位用户的操作次数、对每个文件的操作次数以及带宽配额。超出这些限制就会触发上面提到的 Input/output error
,并会在 Colab 界面中显示一则通知。常见原因包括:访问常用共享文件,或过快访问太多不同的文件。临时解决办法包括:
- 通过 drive.google.com 复制文件,并且不要将文件分享给太多人,以便其他用户不会用尽其配额。
- 避免太多琐碎的 I/O 读取,建议选择以压缩格式(例如:
.zip
或.tar.gz
文件)将数据从云端硬盘复制到 Colab 虚拟机,然后在虚拟机本地而非装载的云端硬盘目录中解压缩数据。 - 配额限制一天后会重置。
Google 云端硬盘对每位用户可在其中存储的数据量施加了限制。如果云端硬盘操作因 Input/output error
而失败,并且系统通知已超出存储空间配额,请通过 drive.google.com 页面删除一些文件,然后清空回收站以回收存储空间。可能需要过一段时间,回收的存储空间才可供在 Colab 中使用。
如果您想购买更多云端硬盘存储空间,请访问 Google 云端硬盘。注意,购买更多云端硬盘存储空间并不能增加 Colab 虚拟机中的可用磁盘空间,而订阅 Colab Pro 可以。
资源限制
为了能够以较低价格动态提供大量强大的 GPU,Colab 需要保持动态调整用量限额和硬件供应情况的灵活性。
在免费版 Colab 中,用户对 GPU 等高昂资源的访问权限会受到严格限制。对于付费版 Colab,我们的目标是为用户的消费提供高价值的产品和服务。
您可以通过 GCP Marketplace 或 Colab Enterprise 购买有保证的资源,而不受 Colab 强制执行的用量限额的影响,也可以通过由您控制的本地运行时使用您自己的计算资源。请注意,这些方法不支持在运行时文件系统中装载 Google 云端硬盘。
Colab 之所以能够免费提供资源,部分原因在于它的用量限额是时有变化的动态限额,并且它不会保证资源供应或无限供应资源。也就是说,总体用量限额、空闲超时时长、虚拟机生命周期上限、可用 GPU 类型以及其他因素都会不时变化。Colab 不会公布这些限额,原因之一是它们可能会随着时间变化。
您可以点击此处购买我们的某个付款方案,获享更高的计算能力和更长的运行时。对于这些方案,资源可用性同样可能会随时间而动态变化。如果付费用户的计算单元余额已用尽,就必须遵守免费方案的政策与限额,直到余额增加为止。
您可以通过 GCP Marketplace 或 Colab Enterprise 购买有保证的资源,而不受 Colab 强制执行的用量限额的影响,也可以通过由您控制的本地运行时使用您自己的计算资源。请注意,这些方法不支持在运行时文件系统中装载 Google 云端硬盘。
Colab 中的可用 GPU 和 TPU 类型会不时变化。只有这样,Colab 才能免费提供这些资源。
若要使用付费 GPU,请点击此处购买付费方案(具体以实际可用情况为准)。
若要使用特定的专用硬件,请使用 GCP Marketplace Colab 进行探索。
Colab 会优先处理交互式计算。如果您的系统处于空闲状态,运行时将超时。
在免费版 Colab 中,笔记本最长可以运行 12 小时,具体取决于实际可用情况和您的使用模式。Colab Pro、Pro+ 和随用随付方案会基于您的计算单元余量为您提供更多可用的计算资源。
通常,笔记本最长可以运行 12 小时,具体取决于实际可用情况和您的使用模式。购买 Pro、Pro+ 或随用随付方案后,如果您的可用计算单元已用尽,那么代码执行可在后端终止。
如果您有足够的计算单元,Colab Pro+ 支持代码连续执行长达 24 小时。只有在代码执行终止后才会应用空闲超时。
您可以在 GCP Marketplace 购买专用虚拟机,以充分缓解运行时限制和空闲超时设置。
在免费版 Colab 中,您可以访问具有标准系统内存配置文件的虚拟机。
在付费版 Colab 中,您可以访问具有高内存系统配置文件的虚拟机(具体以实际可用情况和计算单元余量为准)。
请注意,内存是指系统内存。所有 GPU 芯片具有相同的内存配置文件。
请在完成工作后关闭 Colab 标签页,并在没有实际工作需求时避免选用 GPU 或额外的内存。这样,您在 Colab 中遇到用量限额的情况就会减少。通过随用随付方案,您可以在达到限额时随时购买更多计算资源。
如要详细了解如何充分利用付费版 Colab,请参阅充分利用您的 Colab 订阅。
Colab 提供可选的加速计算环境,包括 GPU 和 TPU。在 GPU 或 TPU 运行时中执行代码不一定代表将使用 GPU 或 TPU。为了避免达到 GPU 使用量上限,我们建议如果没有使用 GPU,请切换为标准运行时。切换方法是:依次选择运行时 > 更改运行时类型,然后将“硬件加速器”设为“无”。
要查看如何在 Colab 中利用 GPU 和 TPU 运行时的示例,请参阅支持 GPU 的 TensorFlow 和 Colab 中的 TPU 示例笔记本。
AI 编码
我们正在稳步推出 AI 编码功能,例如依托 AI 技术的自动补全、自然语言编码和聊天机器人,这些功能均基于 Google 最先进的编码助理模型。
特定语言区域的用户现在可以使用这些功能。
未订阅用户只能在限定时间内使用部分 AI 功能。
只有特定语言区域内的用户才能使用 AI 编码功能。如要使用 AI 编码功能,必须满足以下要求:
- 确认账号所有者已满 18 周岁
在您输入内容时,系统会显示依托 AI 技术的自动补全内容。自然语言编码和聊天机器人都有可见的按钮(“生成”和“Gemini”)。如果您没有看到这两个按钮,并确认您应该有使用权限,请在产品中提交反馈(“帮助 > 发送反馈”)。如果您想通过电子邮件收到回复,则必须选中标题为以下内容的方框:“如果需要您提供更多信息或了解最新信息,我们可能会向您发送电子邮件”。
此外,未订阅用户只能在限定时间内使用代码生成功能。
Colab 可以帮助您进行编码和有关编码的主题,但 Colab 中的 AI 编码功能仍处于实验阶段,如果您使用其提供的代码或编码说明,则需要自行承担责任。请不要完全依赖这项功能,而要谨慎使用,并仔细测试和检查所有代码是否存在错误、bug 和漏洞。
如果生成的任何代码受开源许可的约束,Colab 将会注明。
请仅使用 Gemini in Colab 聊天机器人询问与 Colab 或 Colab 中的编码功能相关的问题。如果您想问聊天机器人有关其他主题的问题(以及关于 Java 等其他语言的问题),建议您使用 Gemini 进行一般查询。
对于 Python,Colab 中的 AI 编码功能效果最佳,并已针对该语言进行优化。
Colab 中的 AI 编码功能仍在实验阶段,部分回复可能不准确,因此请仔细检查 Colab 的回复。Colab 中的 AI 编码功能会根据您的反馈不断改进。
使用生成式 AI 加速实现人们的想法真的非常令人振奋,但这项技术仍处于早期阶段,AI 编码只是一项实验。Colab 内置了多种安全控制功能和明确的反馈机制,这符合我们的 AI 原则。但请注意,它可能会显示不准确的信息、链接或令人反感的陈述内容。
如果您认为 AI 回复内容不安全、不实用、不准确,或因任何其他原因而认为 AI 回复内容不佳,可以提交反馈告知我们。
在回复的右下角,点击“我喜欢”或“不喜欢”图标。
如果您希望在 Colab 中停用 AI 编码功能,请从“工具”菜单中选择“设置”,然后选择“AI 助理”。
在随即显示的界面中,您可以撤消同意并隐藏 AI 编码功能。
与其他一些独立的 LLM 体验一样,Colab 中的 AI 编码功能旨在生成原创内容,而不是长篇复制现有内容。我们对系统进行了精心设计,会尽量避免发生这种情况,而且我们将继续改进这些系统的运作方式。如果 Colab 确实直接引用了某个来源的长篇内容,就会注明引用来源。
当您在 Colab 中使用生成式 AI 功能时,Google 会收集您输入的提示内容、相关代码、生成的输出、相关功能使用情况信息以及您的反馈。Google 会利用这些数据提供、改进和开发 Google 产品、服务和机器学习技术,包括 Google 的企业用产品,如 Google Cloud。
为了帮助提高质量和改进我们的产品,人工审核者可能会查看和处理您输入的提示内容、生成的输出、相关功能使用情况信息以及您的反馈,并添加注释。请勿在提示或反馈中添加可用于识别您或他人身份的敏感信息(例如机密信息)或个人信息。我们将按以下方式存储您的数据:Google 无法判断数据提供者的身份,并且无法再满足任何删除要求。数据保留时间最长可达 18 个月。
“在代码单元格中生成”能够提供上下文帮助,以便为您编写代码段。代码是根据您的提示以及附近的笔记本内容生成的,用于为模型提供上下文。
Gemini in Colab 聊天机器人可用于回答较常见的 Python 相关问题。在提供代码段时,它还会提供相关说明。
其他问题
2014 年,我们与 Jupyter 开发团队合作发布了该工具的早期版本。自此以后,在内部使用反馈的指引下,Colab 得以不断改进。
Colab 主要支持 Python 及其第三方工具生态系统。据悉,用户希望 Colab 支持其他 Jupyter 内核(例如 R 或 Scala)。我们打算支持这些 Jupyter 内核,但还无法提供预计实现时间。
您可以打开任意一个 Colab 笔记本,然后转到“帮助”菜单并选择“发送反馈…”。
为了安全地显示各种输出项,Colab 会使用 HTML iframe 和托管在多个单独来源的 Service Worker。只有第三方 Cookie 处于启用状态时,浏览器才能在 iframe 中使用 Service Worker。要启用所有网站的第三方 Cookie 还有另一个方法,就是在浏览器设置中允许以下主机名:googleusercontent.com。
Colab 对编辑器会使用一般的等宽字体。在大多数现代浏览器中,您都可以配置对哪些字体系列使用等宽设置。下面是一些常见字体系列:
- 在 Firefox 中,请按照 Firefox 支持文档中的说明配置“等宽”字体。
- 在 Chrome 中,请转到“chrome://settings/fonts”并修改“宽度固定的字体”部分。
Colab 已不再支持 Python 2。要了解将代码从 Python 2 迁移到 Python 3 的相关信息,请参阅将 Python 2 代码迁移到 Python 3 一文。
请参阅注册页面上的常见问题解答部分。
请访问注册页面,了解 Colab Pro、Pro+ 以及随用随付方案的相关信息,包括定价和升级处理方式。
Workspace 用户对 Colab 的访问权限由贵组织的管理员通过 Workspace 开/关控件控制。
Workspace 教育版组织必须征得相应家长同意,才能让未满 18 周岁的学生通过其 Google Workspace 教育版账号使用附加服务。您可以利用此通知模板向学生家长征求同意。请务必在附加服务列表中添加 Colab。
如需了解详情,请参阅我们的帮助中心文章与家长和监护人就 Google Workspace 教育版的使用进行沟通。