目录
- 什么是 Colab?
- 它真的可以免费使用吗?
- Jupyter 和 Colab 有什么区别?
- 如何搜索 Colab 笔记本?
- 如何获取数据?
- 为什么“装载 Google 云端硬盘”操作有时会在笔记本中插入代码?
- 为什么 Colab 不能保证资源供应?l
- Colab 的用量限额是多少?
- Colab 提供哪些类型的 GPU?
- Colab 提供多大内存?
- Colab 支持哪些浏览器?
- Colab 的付费版本是怎么计费的?
- 充分利用您的 Colab 订阅
- 测试一段pytorch代码
无论您是一名学生、数据科学家还是 AI 研究员,Colab 都能够帮助您更轻松地完成工作。
什么是 Colab?
Colaboratory 简称“Colab”,是Google Research 团队开发的一款产品。 在Colab 中,任何人都可以通过浏览器编写和执行任意Python 代码。 它尤其适合机器学习、数据分析和教育目的。 从技术上来说,Colab 是一种托管式Jupyter 笔记本服务。
Colaboratory 简称“Colab”,是 Google Research 团队开发的一款产品。在 Colab 中,任何人都可以通过浏览器编写和执行任意 Python 代码。它尤其适合机器学习、数据分析和教育目的。从技术上来说,Colab 是一种托管式 Jupyter 笔记本服务。用户无需设置,就可以直接使用,同时还能获得 GPU 等计算资源的免费使用权限。
借助 Colaboratory(简称 Colab),您可在浏览器中编写和执行 Python 代码,并且:
无需任何配置
免费使用 GPU
轻松共享
它真的可以免费使用吗?
是的。Colab 可免费使用。
这有点好得令人难以置信。有什么限制吗?link
Colab 的资源供应没有保证,也不会无限量供应,用量限额有时会变化。只有这样,Colab 才能免费提供资源。如需了解详情,请参阅资源限制
如果用户希望获得更加可靠的权限来使用更加优质的资源,可以订阅 Colab Pro。
Colab 中的资源将优先提供给交互式用例。我们禁止各种涉及批量计算、会对他人造成负面影响或试图规避我们政策的操作。Colab 运行时中不允许执行下列操作:
文件托管、媒体传送或提供其他与 Colab 的交互式计算无关的网络服务
下载种子文件或进行点对点文件共享
使用远程桌面或 SSH
连接到远程代理
加密货币挖矿
运行拒绝服务攻击
破解密码
利用多个帐号绕过访问权限或资源使用情况限制
创建深度伪造内容
Jupyter 和 Colab 有什么区别?
Jupyter 是一个开放源代码项目,而 Colab 是在 Jupyter 基础之上开发的。通过 Colab,您无需下载、安装或运行任何软件,就可以使用 Jupyter 笔记本并与他人共享。
使用 Colab
我的笔记本存储在什么地方?可以共享吗?link
Colab 笔记本存储在 Google 云端硬盘上,也可以从 GitHub 加载。您可以共享 Colab 笔记本,就像使用 Google 文档或表格一样。只需点击任一 Colab 笔记本右上角的“共享”按钮,或按照相关 Google 云端硬盘文件共享说明操作。
共享笔记本时,具体会共享哪些内容?link
如果您选择共享笔记本,笔记本的全部内容(包括文本、代码、输出项和注释)都会被共享。您可以通过依次选择修改 > 笔记本设置 > 保存此笔记本时忽略代码单元格输出项,将代码单元格输出项排除在保存或共享范围之外。系统不会共享您正在使用的虚拟机(包括您已设置的所有自定义文件和库)。因此,对于那些会安装和加载任何您笔记本需要的自定义库或文件的单元格,最好将它们纳入其中。
我可以将现有的 Jupyter/IPython 笔记本导入 Colab 吗?link
可以。只需从“文件”菜单中选择“上传笔记本”即可。
如何搜索 Colab 笔记本?
您可以使用 Google 云端硬盘搜索 Colab 笔记本。点击笔记本视图左上方的 Colab 徽标将显示云端硬盘中的所有笔记本。您还可以依次选择文件 > 打开笔记本,搜索您最近打开过的笔记本。
我的代码在哪里执行?如果关闭浏览器窗口,我的执行状态会怎样?link
代码会在专供您的帐号使用的虚拟机中执行。虚拟机闲置一段时间后会被删除,并且 Colab 服务为虚拟机强制设置了最长有效期。
如何获取数据?
您可以按照相关说明从 Google 云端硬盘下载您已创建的任何 Colab 笔记本,也可以通过 Colab 的“文件”菜单下载笔记本。所有 Colab 笔记本均以开放源代码 Jupyter 笔记本格式 (.ipynb) 存储。
运行我的代码的虚拟机要如何重置?为什么这项设置有时用不了?link
您可以依次选择运行时 > 断开连接并删除运行时,将分配给您的所有托管虚拟机恢复到原始状态。在虚拟机运行状况不佳的情况下(例如,在意外覆盖系统文件或安装了不兼容软件的情况下),重置操作会非常有用。Colab 会限制重置操作的频率,以免不必要的资源消耗。如果重置失败,请稍后再试。
为什么 drive.mount() 有时会失败,并提示“超时”?为什么在通过 drive.mount() 装载的文件夹中执行的 I/O 操作有时会失败?link
当文件夹中的文件或子文件夹数量太多时,Google 云端硬盘操作可能会出现超时问题。如果有成千上万个项目直接包含在“我的云端硬盘”顶级文件夹中,那么装载该云端硬盘可能会超时。如果重复尝试,最后有可能会成功,因为在超时之前,失败的尝试会在本地缓存部分状态。如果您遇到此问题,请尝试将直接包含在“我的云端硬盘”中的文件和文件夹移至子文件夹。如果在 drive.mount() 运行成功后从其他文件夹中读取数据,可能会出现类似问题。访问含有许多项目的任何文件夹中的项目都可能会导致错误,例如 OSError: [Errno 5] Input/output error。同样,您只需将直接包含的项目移至子文件夹中,便可解决此问题。
请注意,通过将文件或子文件夹移入回收站来将其“删除”可能还不够;如果执行上述操作后问题仍未解决,请务必再清空回收站。
为什么“装载 Google 云端硬盘”操作有时会在笔记本中插入代码?
在 Colab 中装载 Google 云端硬盘可允许笔记本中的任何代码访问 Google 云端硬盘中的任何文件。通常,每当用户连接到新的运行时时,我们都会要求用户向笔记本添加一个代码单元格,以手动方式授予此权限。这可以确保用户完全了解向笔记本授予的权限。
在某些情况下,我们只需要获得一次 Google 云端硬盘授权,并在日后的会话中自动重新装载 Google 云端硬盘。为了保护您的文件,我们仅在笔记本通过了多个检查后允许执行此操作。例如,由其他用户修改过的任何笔记本都不会自动装载 Google 云端硬盘。
为什么云端硬盘操作有时会因配额问题而失败?link
Google 云端硬盘强制执行各种限制,包括每位用户的操作次数、对每个文件的操作次数以及带宽配额。超出这些限制就会触发上面提到的 Input/output error,并会在 Colab 界面中显示一则通知。常见原因包括:访问常用共享文件,或过快访问太多不同的文件。临时解决办法包括:
通过 drive.google.com 复制文件,并且不要将文件分享给太多人,以便其他用户不会用尽其配额。
避免太多琐碎的 I/O 读取,建议选择以压缩格式(例如:.zip 或 .tar.gz 文件)将数据从云端硬盘复制到 Colab 虚拟机,然后在虚拟机本地而非装载的云端硬盘目录中解压缩数据。
配额限制一天后会重置。
为什么 Colab 不能保证资源供应?l
为了能够以较低价格动态提供大量强大的 GPU,Colab 需要保持动态调整用量限额和硬件供应情况的灵活性。
在免费版 Colab 中,用户对 GPU 等高昂资源的访问权限会受到严格限制。对于付费版 Colab,我们的目标是为用户的消费提供高价值的产品和服务。
您可以通过 GCP Marketplace 购买有保证的资源,以便在 Colab 中使用。
Colab 的用量限额是多少?
Colab 之所以能够免费提供资源,部分原因在于它的用量限额是时有变化的动态限额,并且它不会保证资源供应或无限供应资源。也就是说,总体用量限额、空闲超时时长、虚拟机生命周期上限、可用 GPU 类型以及其他因素都会不时变化。Colab 不会公布这些限额,原因之一是它们不仅可能、而且有时确实会快速变化。
对于这些方案,资源可用性同样可能会随时间而动态变化。
您可以通过 GCP Marketplace 购买有保证的资源,以便在 Colab 中使用。
Colab 提供哪些类型的 GPU?
Colab 中的可用 GPU 类型会不时变化。只有这样,Colab 才能免费提供这些资源。
购买我们的某个付费方案,即可使用高级 GPU(具体以实际可用情况为准)。
如果您想使用特定的专用硬件,请通过 GCP Marketplace Colab 进行探索。
Colab 中的笔记本可以运行多久?link
Colab 会优先处理交互式计算。如果您的系统处于空闲状态,运行时将超时。
在免费版 Colab 中,笔记本最长可以运行 12 小时,具体取决于实际可用情况和您的使用模式。Colab Pro、Pro+ 和随用随付方案会基于您的计算单元余量为您提供更多可用的计算资源。
通常,笔记本最长可以运行 12 小时,具体取决于实际可用情况和您的使用模式。购买 Pro、Pro+ 或随用随付方案后,如果您的可用计算单元已用尽,那么代码执行可在后端终止。
如果您有足够的计算单元,Colab Pro+ 支持代码连续执行长达 24 小时。只有在代码执行终止后才会应用空闲超时。
您可以在 GCP Marketplace 购买专用虚拟机,以充分缓解运行时限制和空闲超时设置。
Colab 提供多大内存?
在免费版 Colab 中,您可以访问具有标准系统内存配置文件的虚拟机。
在付费版 Colab 中,您可以访问具有高内存系统配置文件的虚拟机(具体以实际可用情况和计算单元余量为准)。
请注意,内存是指系统内存。所有 GPU 芯片具有相同的内存配置文件。
如何才能充分利用 Colab?link
请在完成工作后关闭 Colab 标签页,并在没有实际工作需求时避免选用 GPU 或额外的内存。这样,您在 Colab 中遇到用量限额的情况就会减少。通过随用随付方案,您可以在达到限额时随时购买更多计算资源。
如要详细了解如何充分利用付费版 Colab,请参阅充分利用您的 Colab 订阅。
系统显示一条消息,提示我没有使用 GPU。我该怎么办?link
Colab 提供可选的加速计算环境,包括 GPU 和 TPU。在 GPU 或 TPU 运行时中执行代码不一定代表将使用 GPU 或 TPU。为了避免达到 GPU 使用量上限,我们建议如果没有使用 GPU,请切换为标准运行时。切换方法是:依次选择运行时 > 更改运行时类型,然后将“硬件加速器”设为“无”。
要查看如何在 Colab 中利用 GPU 和 TPU 运行时的示例,请参阅支持 GPU 的 TensorFlow 和 Colab 中的 TPU 示例笔记本。
其他问题
Colab 支持哪些浏览器?
Colab 支持大多数主流浏览器,并且在 Chrome、Firefox 和 Safari 的最新版本上进行了最全面的测试。
Colab 与 colaboratory.jupyter.org 有什么关系?link
2014 年,我们与 Jupyter 开发团队合作发布了该工具的早期版本。自此以后,在内部使用反馈的指引下,Colab 得以不断改进。
是否支持其他编程语言?link
Colab 主要支持 Python 及其第三方工具生态系统。据悉,用户希望 Colab 支持其他 Jupyter 内核(例如 R 或 Scala)。我们打算支持这些 Jupyter 内核,但还无法提供预计实现时间。
如果我发现错误或遇到问题,我该联系谁?link
您可以打开任意一个 Colab 笔记本,然后转到“帮助”菜单并选择“发送反馈…”。
为什么提示我启用第三方 Cookie?link
为了安全地显示各种输出项,Colab 会使用 HTML iframe 和托管在多个单独来源的 Service Worker。只有第三方 Cookie 处于启用状态时,浏览器才能在 iframe 中使用 Service Worker。要启用所有网站的第三方 Cookie 还有另一个方法,就是在浏览器设置中允许以下主机名:googleusercontent.com。
如何更改编辑器的字体?link
Colab 对编辑器会使用一般的等宽字体。在大多数现代浏览器中,您都可以配置对哪些字体系列使用等宽设置。下面是一些常见字体系列:
在 Firefox 中,请按照 Firefox 支持文档中的说明配置“等宽”字体。
在 Chrome 中,请转到“chrome://settings/fonts”并修改“宽度固定的字体”部分。
Colab 的付费版本是怎么计费的?
请访问注册页面,了解 Colab Pro、Pro+ 以及随用随付方案的相关信息,包括定价和升级处理方式。
可以按需付款
港元的符号:
HK$
港元或称港币,是中华人民共和国香港特别行政区的法定流通货币。
需要在https://pay.google.com/处设置好自己的付款信用卡
提示:为了安全使用您的信用卡,可以在手机银行里设置交易限额
充分利用您的 Colab 订阅
更快的 GPU
已购买任一 Colab 付费方案的用户可使用付费 GPU。只需在菜单中依次选择运行时 > 更改运行时类型,升级笔记本的 GPU 设置,即可启用付费加速器。根据实际可用情况,选择付费 GPU 可能会授予您使用 V100 或 A100 Nvidia GPU 的权限。
免费版 Colab 会根据配额限制和实际可用情况,授予您使用 Nvidia T4 GPU 的权限。
只需执行以下单元格,即可随时查看分配给您的 GPU。如果以下代码单元格的运行结果是“Not connected to a GPU”(未连接到 GPU),您可以通过以下步骤更改运行时:在菜单中依次选择运行时 > 更改运行时类型,启用 GPU 加速器,然后重新执行该代码单元格。
gpu_info = !nvidia-smi
gpu_info = ‘\n’.join(gpu_info)
if gpu_info.find(‘failed’) >= 0:
print(‘Not connected to a GPU’)
else:
print(gpu_info)
若要在笔记本上使用 GPU,请在菜单中依次选择运行时 > 更改运行时类型,然后从“硬件加速器”下拉菜单中选择 GPU。
更多内存
已购买任一 Colab 付费方案的用户可使用高内存虚拟机(如果可用)。 只需运行以下代码单元格,即可随时查看您的可用内存量。如果以下代码单元格的运行结果是“Not using a high-RAM runtime”(未使用高 RAM 运行时),您可以通过以下步骤启用高 RAM 运行时:在菜单中依次选择运行时 > 更改运行时类型,然后在“运行时规格”下拉菜单中选择“高 RAM”。完成选择后,重新执行该代码单元格。
from psutil import virtual_memory
ram_gb = virtual_memory().total / 1e9
print('Your runtime has {:.1f} gigabytes of available RAM\n'.format(ram_gb))
if ram_gb < 20:
print('Not using a high-RAM runtime')
else:
print('You are using a high-RAM runtime!')
更长的运行时
所有 Colab 运行时都会在一段时间后重置(如果运行时未执行代码,则会更早重置)。与免费版 Colab 相比,Colab Pro 和 Pro+ 用户可以享受更长的运行时。
后台执行
Colab Pro+ 用户可获得后台执行权限,即使是在关闭浏览器标签页后长达 24 小时的时间里,笔记本仍会继续执行。若要在笔记本上启用后台执行功能,请在菜单中依次选择 运行时 > 更改运行时类型,然后启用后台执行功能。
缓解 Colab Pro 中的资源限制
您在 Colab 中可以使用的资源量并非不受限制。若要充分利用 Colab,请避免在不需要时占用资源。例如,仅在需要时使用 GPU,并在使用完毕后关闭 Colab 标签页。
在遇到限制时,您可以通过随用随付的方式购买更多计算单元,以缓解此类限制。任何人都能通过随用随付方式购买计算单元,无需订阅。
测试一段pytorch代码
import torch
import numpy as np
data = [[1, 2],[3, 4]]
x_data = torch.tensor(data)
print(x_data)
文章出处登录后可见!