网易首页 > 网易号 > 正文 申请入驻

用 Python 使用 Google Colab?岂止是炫酷

0
分享至

选自Medium 作者:Towards AI Team 机器之心编译

这篇文章教你如何使用 Google Colab,更好地利用免费资源。

Google Colab 是一个免费的 Jupyter 环境,用户可以用它创建 Jupyter notebook,在浏览器中编写和执行 Python 代码,以及其他基于 Python 的第三方工具和机器学习框架,如 Pandas、PyTorch、Tensorflow、Keras、Monk、OpenCV 等。

Google Colab 的好处在于,不需要任何配置就能直接上手使用,并提供免费的 GPU,你可以和任何人共享实时代码、数学公式、数据可视化结果、数据处理、数值模拟、机器学习模型等各种项目。

本文将介绍如何用 Python 使用 Google Colab,以及一些 Colab 使用技巧。

项目地址:https://github.com/towardsai/tutorials/tree/master/google_colab_tutorial

为什么大家都爱 Colab

Colab 的优点包括:

  • 提供了免费的 Jupyter notebook 环境;

  • 带有预安装的软件包;

  • 完全托管在谷歌云上;

  • 用户无需在服务器或工作站上进行设置;

  • Notebook 会自动保存在用户的 Google Drive 中;

  • 提供基于浏览器的 Jupyter notebook;

  • 完全免费,且提供 GPU 和 TPU(Pro 用户可以使用更多资源,但需要付费);

  • 支持 Python 2 和 Python 3;

  • 提供两种硬件加速器:GPU 和 TPU。

第一步:启动 Google Colab

我们可以使用 Colab 在 Web 浏览器上直接运行 Python 代码, 使用指南: https://mktg.best/d7b6u。

启动窗口随之打开,弹窗中提供了多项功能:

它提供了创建 notebook 以及从不同来源上传和选择的选项,比如 GitHub、Google Drive 或本地计算机。

从 GitHub 上传 Notebook

我们可以使用项目 URL,或者搜索组织和用户等方法,直接从 GitHub 上传 Python 代码。

使用 URL 的步骤上传项目的步骤如下图所示:

  • 启动 Google Colab

  • 从弹框中选择 GitHub 这一项。

输入 GitHub 项目 URL 并搜索以获取代码

将完整代码一键上传到 Google Colab notebook

同样地,用户可以通过按名称、日期、所有者或者修改日期过滤保存的 notebook,直接从 Google Drive 上传代码。

从 Kaggle 上传数据

从 Kaggle 生成 API Token

来自 Kaggle 的数据可以直接上传到 Colab,不过这需要 Kaggle 的 API Token 才能完成数据导入,步骤如下:

  • 打开 Kaggle

  • 转至「我的账户」

  • 向下滚动到「API」部分

  • 如果需要,先单击「Expire API Token」以删除先前的 token

  • 点击「Create New API Token」,生成一个新的 token 并下载一个名为「kaggle.json」的 JSON 文件

  • 「kaggle.json」文件包含用户名和密钥,如下所示:

从 Kaggle 上传数据的步骤

将「kaggle.json」文件保存在本地计算机上。

安装 Kaggle 软件包:

!pip install -q kaggle

导入包:

from google.colab import files

上传本地文件「kaggle.json」:

files.upload()

检查 Colab notebook 是否与 Kaggle 正确连接:

!kaggle datasets list

从 Kaggle 下载任意比赛数据:

!kaggle competitions download -c competitive-data-science-predict-future-sales

Kaggle 数据将在 Colab 中下载和上传,如下所示:

从 Google Drive 中读取文件

Colab 还提供从 Google Drive 读取数据的功能。

导入包

import globimport pandas as pdfrom google.colab import drive

挂载 Google Drive

drive.mount('/gdrive')

这一步要求填写 Google Drive 的授权码:

  • 授权码输入框

  • 单击链接并生成授权码

  • 从 Google Drive 读取 CSV 文件

file_path = glob.glob("/gdrive/My Drive/***.csv")for file in file_path:df = pd.read_csv(file)print(df)

将运行时硬件加速器设置为 GPU

Google Colab 提供免费的 GPU 硬件加速器云服务。在机器学习和深度学习中需要同时处理多个计算,高性能 GPU 的价格很高,但非常重要。

GPU 通过并行化提供优秀的性能,可在一次调用中启动数百万个线程。尽管与 CPU 相比,GPU 的 clock speed 较低,且缺少多核管理功能,但 GPU 的表现通常比 CPU 好。

在 Colab 中设置 GPU 硬件加速器

设置步骤如下:

  • 选择 Runtime → Change runtime type

  • 在弹出窗口中选择「GPU」

检查 Colab 中 GPU 的详细信息

导入重要的包

import tensorflow as tffrom tensorflow.python.client import device_lib

检查 GPU 加速器

tf.test.gpu_device_name()

检查用于 GPU 的硬件

device_lib.list_local_devices()

使用 GPU 的代码示例

在未选择运行时 GPU 的情况下检查可用 GPU 的数量,使其设置为「None」。

import tensorflow as tfno_of_gpu = len(tf.config.experimental.list_physical_devices('GPU'))print("Total GPUS:", no_of_gpu)

硬件加速器为 None,因此 GPU 数量的值为 0。

将运行时硬件加速器设置为 GPU:

import tensorflow as tfno_of_gpu =len(tf.config.experimental.list_physical_devices('GPU'))print("Total GPUS:", no_of_gpu)

硬件加速器为 GPU,因此 GPU 数量值为 1。

在 GPU 上执行张量乘法:

try:with tf.device('/device:GPU:1'):tensor1 = tf.constant([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]])tensor2 = tf.constant([[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]])result = tf.matmul(tensor1, tensor2)print(result)except RuntimeError as exception:print(exception)

张量乘法结果。

将 GitHub repo 复制到 Google Drive

GitHub repo 代码可以复制和存储到 Google Drive 中,具体步骤如下:

挂载 Google Drive

from google.colab import drivedrive.mount('/content/gdrive')

进入 Google drive,创建目录「project」。

%cd gdrive/My Drive/mkdir project%cd project/

复制 GitHub repo,例如:

!git clone https://github.com/saniyaparveez/youtube_video_type_prediction.git

检查复制的项目

!ls

Colab 魔法

Colab 提供许多有趣的 trick,包括多个可以执行快速操作的命令,这些命令通常使用 % 作为前缀。

Colab 魔法命令列表

%lsmagic

本地目录

%ldir

获取 Notebook 历史

%history

CPU 时间

%time

系统运行多久?

!uptime

展示可用和已用的内存

!free -hprint("-"*100)

展示 CPU 产品规格

!lscpuprint("-"*70)

列出所有运行虚拟机进程

%%shecho "List all running VM processes."ps -efecho "Done"

在 HTML 中嵌入文本

%%htmlTowards AI is a great publication platformmarquee>


设计 HTML 格式


#@title Personal Details#@markdown Information.Name = 'Peter' #@param {type: "string"}Age = 25 #@param {type: "slider", min: 1, max: 100}zip = 1234 #@param {type: "number"}Date = '2020-01-26' #@param {type: "date"}Gender = "Male" #@param ['Male', 'Female', 'Other']#@markdown ---print("Submitting the form")print(string_type, slider_value, number, date, pick_me)print("Submitted")

在 Google Colab 中生成 HTML 格式。

单元格执行输出

绘图

Google Colab 还可用于数据可视化。以下代码和图展示了 Google Colab 对一个以上多项式的绘图,Y = X+X+X。

x = np.arange(-10,10)y = np.power(x,3)y1 = np.power(x,3) + np.power(x,2) + xplt.scatter(x,y1,c="red")plt.scatter(x,y)

以下代码和图用于生成热图:

import matplotlib.pyplot as pltimport numpy as npimport seaborn as snslength = 10data = 5 + np.random.randn(length, length)data += np.arange(length)data += np.reshape(np.arange(length), (length, 1))sns.heatmap(data)plt.show()

Google Colab 中的 TPU

Google Colab 使用 TPU(张量处理单元)进行 Tensorflow 图上的加速。TPU 是谷歌开发的、专为神经网络机器设计的 AI 加速器专用集成电路 (ASIC)。

TPU 具备优秀的 teraflop 配置、浮点运算性能等。每个 TPU 的计算能力达到每秒 180 万亿次浮点运算(180 teraflops),拥有 64 GB 的高带宽内存。

在 Colab 中设置 TPU

在 Google Colab 中设置 TPU 的步骤如下:

运行时菜单 → 更改运行时

选择 TPU 硬件加速器

确认在 TPU 硬件加速器上运行

这需要 TensorFlow 包。以下代码和实现可以确认 Colab 是否设置 TPU 加速器:

import tensorflow as tftry:tpu = tf.distribute.cluster_resolver.TPUClusterResolver()print('Running on TPU', tpu.cluster_spec().as_dict()['worker'])except ValueError:print('Exception')

如果 TPU 未设置成功,则代码会报错。

结论

Google Colab 是一种 Jupyter notebook 环境,通过执行基于 Python 的代码来构建机器学习或深度学习模型。Google Colab 完全免费(pro 版除外),并提供 GPU 和 TPU 硬件加速器,易于使用和共享。

本文列举了 Google Colab 的使用技巧,希望能够帮助大家更好地利用 Google Colab 资源。

资源

  • Google colab 实现:https://colab.research.google.com/drive/1ymIYzFg4Q7iBjnTut31aBqPHgOpkjHYD?usp=sharing

  • Github repository:https://github.com/towardsai/tutorials/tree/master/google_colab_tutorial

参考文献

[1] Google Colab, https://colab.research.google.com/

[2] Python 2 Deprecation, Google Colab, Google, https://research.google.com/colaboratory/faq.html#python-2-deprecation

[3] Machine Learning Algorithms for Beginners with Code Examples in Python, Pratik Shukla, Roberto Iriondo, Towards AI, https://towardsai.net/p/machine-learning/machine-learning-algorithms-for-beginners-with-python-code-examples-ml-19c6afd60daa

[4] Project Jupyter, https://jupyter.org/

[5] Google Colab, FAQ, https://research.google.com/colaboratory/faq.html

原文链接:https://medium.com/towards-artificial-intelligence/google-colab-101-tutorial-with-python-tips-tricks-and-faq-7689bd4d24b4

看到这还没来得及跑的同学,给个三连好吗?

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
为什么往死里扫黄?网友分享太真实了,一次说透

为什么往死里扫黄?网友分享太真实了,一次说透

另子维爱读史
2026-05-27 20:16:03
立刻停止食用这些粗粮,吃得越多,肠癌风险越高?医生告诉你真相

立刻停止食用这些粗粮,吃得越多,肠癌风险越高?医生告诉你真相

叙说医疗健康
2026-06-13 07:00:16
恭喜!TVB前知名女星宣布平安生子,带浓妆分娩偶像包袱重

恭喜!TVB前知名女星宣布平安生子,带浓妆分娩偶像包袱重

阿伧说事
2026-06-13 01:43:20
詹姆斯经纪人:大约有10-12支球队对詹姆斯感兴趣,打了电话过来

詹姆斯经纪人:大约有10-12支球队对詹姆斯感兴趣,打了电话过来

小徐讲八卦
2026-06-13 07:59:20
尼克斯全队唯一的纽约人,从买不起票的穷小子,到29分的翻盘英雄

尼克斯全队唯一的纽约人,从买不起票的穷小子,到29分的翻盘英雄

林子说事
2026-06-12 10:31:32
1936年营长带两个连投奔红军,1955年授衔以为自己顶多被评为大校

1936年营长带两个连投奔红军,1955年授衔以为自己顶多被评为大校

磊子讲史
2026-06-11 11:53:11
随着加拿大1-1波黑,赛后诞生4个不可思议,低水平比赛不像世界杯

随着加拿大1-1波黑,赛后诞生4个不可思议,低水平比赛不像世界杯

番茄体坛
2026-06-13 08:15:01
胡锡进评喊美加墨世界杯是崇美:按照地理因素应该叫加美墨世界杯

胡锡进评喊美加墨世界杯是崇美:按照地理因素应该叫加美墨世界杯

映射生活的身影
2026-06-12 15:43:34
穆帅考察居莱尔 将打造皇马新阵

穆帅考察居莱尔 将打造皇马新阵

体坛周报
2026-06-12 23:35:47
斯诺克赛事战报:中国队3胜1负,世锦赛冠军丁俊晖苦战4-5

斯诺克赛事战报:中国队3胜1负,世锦赛冠军丁俊晖苦战4-5

郭揦包工头
2026-06-13 00:40:19
2026高考后出现反常:不撕书不考驾照不聚餐,家长们终于清醒了?

2026高考后出现反常:不撕书不考驾照不聚餐,家长们终于清醒了?

今朝牛马
2026-06-11 18:57:53
广东54岁大叔,雷打不动喝茶20余年,最终喝出2个“教训”实用

广东54岁大叔,雷打不动喝茶20余年,最终喝出2个“教训”实用

阿天爱旅行
2026-06-12 17:09:43
女子开LCC辅助驾驶自驾331国道,撞上土堆车辆腾空飞起,安全气囊弹出,当事人:交警告知该路段尚未正式交付,但现场无警示牌和围挡

女子开LCC辅助驾驶自驾331国道,撞上土堆车辆腾空飞起,安全气囊弹出,当事人:交警告知该路段尚未正式交付,但现场无警示牌和围挡

潇湘晨报
2026-06-12 18:28:14
大跌眼镜啊!贵阳一幼儿园家长群毕业送礼引争议,演变成公开骂战

大跌眼镜啊!贵阳一幼儿园家长群毕业送礼引争议,演变成公开骂战

火山詩话
2026-06-10 16:48:49
“中国才没有兴趣迎合法国”

“中国才没有兴趣迎合法国”

观察者网
2026-06-13 08:55:12
穆里尼奥脸黑了!刚上任就挨闷棍!曼联截胡皇马 9300 万头号猎物

穆里尼奥脸黑了!刚上任就挨闷棍!曼联截胡皇马 9300 万头号猎物

澜归序
2026-06-13 07:33:38
曾经很火的7种“天价神药”,如今跌落神坛无人问,你买过几种?

曾经很火的7种“天价神药”,如今跌落神坛无人问,你买过几种?

心中的麦田
2026-06-06 20:23:30
鹅腿阿姨评论区 高赞留言拆解

鹅腿阿姨评论区 高赞留言拆解

慕容律师
2026-06-12 13:09:34
钨断了,日元崩了,东京慌了。

钨断了,日元崩了,东京慌了。

白浅娱乐聊
2026-06-12 14:59:46
深圳山姆致歉!有市民称购买的面包大面积发霉!最新进展→

深圳山姆致歉!有市民称购买的面包大面积发霉!最新进展→

齐鲁壹点
2026-06-12 18:26:40
2026-06-13 09:59:00
Ai学习的老章 incentive-icons
Ai学习的老章
Ai学习的老章
3426文章数 11165关注度
往期回顾 全部

科技要闻

SpaceX上市首日破2万亿美元,马斯克再封神

头条要闻

牛弹琴:全世界都要精疲力竭时 一个超级好消息要来了

头条要闻

牛弹琴:全世界都要精疲力竭时 一个超级好消息要来了

体育要闻

欧洲恐韩?肉德维德?

娱乐要闻

一天4个瓜,肖战热巴最意外

财经要闻

梁文锋向左,杨植麟向右

汽车要闻

标配激光雷达/双动力可选 昊铂S600限时售17.99万起

态度原创

手机
家居
游戏
健康
数码

手机要闻

W23单品销量Top30,苹果、华为真的很无敌

家居要闻

空间微调 移形换境

魔兽世界:时光服玩家吐槽游戏环境,无G币不行动,真相却大反转

老人、小孩、孕妇,吃粽子有啥风险

数码要闻

AOC推出49" DQHD曲面QD-OLED显示器AGP497UCZD

无障碍浏览 进入关怀版