常见问题解答
基础知识
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 操作有时会失败?linkdone当文件夹中的文件或子文件夹数量太多时,Google 云端硬盘操作可能会出现超时问题。请勿在顶层文件夹“我的云端硬盘”中存储成千上万个项目:如果根目录中存储的项目超过大约 1 万个,装载可能会失败。
如果您遇到此问题,请尝试将直接存放在“我的云端硬盘”中的文件和文件夹移到子文件夹中,不过每个文件夹中包含的项目不得超过 1 万个。
即使成功运行了 drive.mount()
,在从其他文件夹中读取数据时,也可能会出现类似问题。访问包含大量项目的任何文件夹中的项目时,都可能会遇到 OSError: [Errno 5] Input/output error
这样的错误。要解决此问题,您可以将直接包含的项目移至子文件夹中。
请注意,将文件或子文件夹移入回收站来将其“删除”可能还不足够;如果执行上述操作后问题仍未解决,请务必再清空回收站。
您还可以尝试使用 DagsHub Storage,它是 Google 云端硬盘替代方案,专为处理大数据集和机器学习而打造,并且对于 Colab 上常见的工作流类型而言往往更具可伸缩性和可靠性。如需了解详情,请参阅相关文档,或查看示例笔记本。DagsHub 是一项与 Google 无关的第三方服务。
drive.mount()
有时会很慢?linkdone存储在 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 可以。
资源限制 linkdone
为了能够以较低价格动态提供大量强大的 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 为核心的全新 Colab
以 AI 为核心的全新 Colab 重新定义了 Colab 体验,使其成为智能编程助手。它包含一系列深度集成的 AI 功能,旨在了解您的目标并加快整个工作流程。您可以直接通过笔记本中的统一对话式体验使用所有这些功能。主要功能包括:
- 迭代询问:一个简单对话界面,可生成代码、解释概念和修复错误。
- 新一代数据科学代理 (DSA):可自动分析数据、生成方案、执行代码和呈现结果。
- 轻松转换代码:使用自然语言进行描述并修改笔记本中的现有代码。
默认情况下,系统会为所有符合条件的用户启用 AI 功能,并将其集成到整个 Colab 界面中。最简单的使用方法是点击笔记本底部的 Gemini 星光图标,打开主对话面板。在您输入内容时,系统还会显示依托 AI 技术的自动补全内容。
要使用 Colab 的 AI 功能,Google 账号所有者必须年满 18 周岁。如果您已符合年龄要求,但仍看不到这些功能(例如 Gemini 星光图标或 AI 自动补全功能),请确保您所在的语言区域受支持。
如果您已确认符合条件,但仍无法使用这些功能,请使用产品内反馈工具(帮助 > 发送反馈)报告此问题。如果您想通过邮件收到回答,则必须选中标题为以下内容的方框:“如果需要您提供更多信息或了解最新信息,我们可能会向您发送邮件”的复选框。
Colab 的 AI 旨在成为一个全能的助手。您可以要求它执行以下操作:
- 生成和转换代码:请求生成简短的函数、模板,甚至重构多个单元格中的代码。
- 讨论 Python 库:发现新工具,并请求根据工作内容提供示例用法。
- 智能修复错误:出现错误时,Colab 会在差异视图中反复建议修复方法,供您查看。
- 执行自主智能体流程:使用数据科学智能体触发完整的分析工作流程。只需提供概要目标,智能体就会生成方案、执行必要的代码并呈现结果。
- 分析您的数据:上传文件(如 CSV、JSON 或 Excel)或指向运行时的数据,并让 AI 执行深入分析、创建可视化图表并发现洞见。
可以。以 AI 为核心的 Colab 的一项关键功能就是能够创建和执行方案来实现目标。如果您要执行多步任务(例如分析数据集),代理会提供一个方案供您查看。然后,您可以选择执行它,并在代理运行时保持控制权。在执行期间,它可以推理结果、自行纠正错误并调整方案。
Colab AI 本身不会直接浏览网络。不过,它可以生成和执行能访问网络的代码(例如,使用请求调用 API 或使用 wget 将文件下载到运行时中)。
默认情况下,Colab AI 无权访问您的 Google 云端硬盘文件或用户机密信息。不过,它可以在您的明确请求下,生成访问这些数据的代码。
Colab AI 支持各种常见文件类型,包括 CSV、TSV、JSON 和 Excel 文件(XLS、XLSX、XLSM、XLSB)。您可以直接在对话界面中上传文件进行分析。
您的反馈对于改进体验至关重要。对于任何由 AI 生成的回答,您都会看到“我喜欢”和“不喜欢”图标。请使用这些图标对输出质量进行评分。如需提供更详细的反馈,请依次点击右侧的溢出菜单 (...) >“发送反馈”选项。
Colab 的 AI 是一款功能强大的协作工具,旨在加快工作流程,帮助您以前所未有的速度开发原型。与任何编码助手一样,您需要对代码的使用负责。在使用代码之前,我们强烈建议您仔细测试、审核和验证所有生成的代码,确保其准确无误、安全可靠且符合您的项目要求。为了帮助您做到这一点,Colab 还会注明任何生成的代码是否直接引用了具有开源许可的来源。
当您在 Colab 中使用生成式 AI 功能时,Google 会收集您输入的提示内容、相关代码、生成的输出、相关功能使用情况信息以及您的反馈。Google 会利用这些数据提供、改进和开发 Google 产品、服务和机器学习技术,包括 Google 的企业用产品,如 Google Cloud。
为了帮助提高质量和改进我们的产品,人工审核者可能会查看和处理您输入的提示内容、生成的输出、相关功能使用情况信息以及您的反馈,并添加注释。请勿在提示或反馈中添加可用于识别您或他人身份的敏感信息(例如机密信息)或个人信息。我们将按以下方式存储您的数据:Google 无法判断数据提供者的身份,并且无法再满足任何删除要求。数据保留时间最长可达 18 个月。
其他问题
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 教育版的使用进行沟通。