使用 Google Colab 进行 Python 编程

2025年3月17日 | 阅读 10 分钟
Python Programming with Google Colab

在本文中,我们将学习使用 Google colab 来练习 Python 编程。我们将讨论协作编程、自动设置和有效获取帮助。Google Colab 是一个适合 Python 初学者的工具。

引言

Google Colab 是 Google Research 提供的最佳项目。它是一个开源的、基于 Jupyter 的环境。它帮助我们编写和执行基于 Python 的代码,以及其他基于 Python 的第三方工具和机器学习框架,例如 PythonPyTorchTensorflowKerasOpenCV 等。它在 Web 浏览器上运行。

Google Colab 是一个开源平台,我们可以在其中编写和执行 Python 代码。它不需要互联网上的任何资源。我们还可以将其挂载到 Google Drive 中。Google Colab 不需要任何配置即可开始使用,并提供对 GPU 的免费访问。它方便我们共享实时代码、数学方程式、数据可视化、数据清理和转换、机器学习模型、数值模拟等。

使用 Google Colab 的优势

Google Colab 提供了许多功能。这些功能如下所示。

  • 它附带预安装的软件包。
  • 我们不需要安装 Python 或其软件包。
  • 它在 Web 浏览器上运行。
  • 它允许我们使用 Web 浏览器 Jupyter 笔记本。
  • 它是一个开源的 Google 平台,这意味着任何人都可以免费使用它。
  • 它提供 GPU 和 TPU 算力。
  • 它支持 Python 2 和 3 版本。
  • 它提供两种硬件加速 - GPU(图形处理单元)和 TPU(张量处理单元)。
  • 它提供免费的 Jupyter 笔记本环境。

Google Colab 中的 GPU 和 TPU 是什么?

Google Colab 广受欢迎的原因是它提供了免费的 GPU 和 TPU。机器学习和深度学习训练模型在 CPU 上需要花费数小时。我们在本地机器上都遇到过这些问题。借助 GPU 和 TPU,我们可以在几分钟或几秒钟内训练模型。

机器学习爱好者总是更喜欢 GPU 而不是 CPU,因为其绝对的算力和执行速度。但 GPU 非常昂贵;并非每个人都能负担得起。这就是 Google Colab 出现的原因。Google Colab 完全免费,可以连续运行 12 小时。它足以满足 机器学习深度学习 项目的所有要求。

GPU 和 CPU 之间的区别

下面给出了一些重要功能。

图形处理器中央处理器
它有数百个更简单的核心。它有非常复杂的核心。
它提供数千个并发硬件线程。它提供单线程性能优化。
它利用浮点吞吐量。它有一个专门用于复杂 ILP 的晶体管空间。
高达 Tesla K80,具有 12 GB GDDR5 VRAM,Intel Xeron 处理器,双核 @ 2.20 GHz 和 13 GB RAM英特尔至强处理器,双核 @ 2.30 GHz 和 13 GB RAM。
它为整数和 fp 单元提供了最大的管芯表面积。它可用于少量用于整数和 fp 单元的管芯表面积。

今天使用哪个 GPU?

在使用 GPU 进行深度学习之前,让我们考虑两种情况。

第一种情况

首先,我们需要确定我们对完成任务所需资源的具体要求。如果我们的机器学习任务很小或适合复杂的顺序处理,我们不需要一个大型系统来使用 GPU。这意味着如果我们正在研究其他 ML 领域/算法。我们不需要使用 GPU。

第二种情况

如果我们的任务非常广泛并且有可处理的数据,那么我们可以使用 GPU 硬件加速。它提高了执行速度并在几秒钟或几分钟内提供输出。

开始使用 Google Colab

要开始使用 Google Colab,我们需要在下面的 Web 浏览器中输入 URL。

它将启动以下窗口,弹出一个弹出窗口,提供许多功能。

Python Programming with Google Colab

它提供了几个用于创建笔记本的选项,以及从各种来源上传和选择,例如 - Google Drive、本地计算机、GithHub。

单击“新建笔记本”按钮以创建新的 Colab 笔记本。

Python Programming with Google Colab

GPU 是最佳选择。GPU 非常适合密集型任务。

使用 Google Drive 上传文件

我们可以上传 GitHub 的项目并搜索它以获取代码。

同样,我们可以直接从 Google Drive 上传代码。我们还可以按名称、日期、所有者或修改日期过滤已保存的笔记本。

Python Programming with Google Colab

它将自动在 Jupyter Colab 中上传代码。

Python Programming with Google Colab

在 Google Colab 中克隆存储库

我们还可以在 Google Colab 中创建一个 Git 存储库。我们只需要访问任何 GitHub 存储库并复制该存储库的克隆链接。

步骤 - 1: 找到 Github 存储库并获取“Git”链接。

例如 - 我们正在使用 https://github.com/rajk9200/construction.git

克隆或下载 > 复制链接

步骤 - 2: 只需运行以下命令。

点击回车后,它将开始克隆。

步骤 - 3: 在 Google Drive 中打开文件夹。

步骤 - 4: 打开一个笔记本并在 Google Colab 中运行 Github 存储库。

保存 Colab 笔记本

所有笔记本都会在一段时间后自动保存在 Google Drive 中。因此,我们不会丢失我们的工作流程。但是,我们可以明确地以 *.py 和 *.ipynb 格式保存我们的笔记本。

Python Programming with Google Colab

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

Google Colab 提供免费的云服务,带有 GPU 硬件加速器。对于机器学习和深度学习,它需要非常昂贵的 GPU 机器。GPU 对于进行多次计算至关重要。

为什么 GPU 对机器学习很重要

如今,GPU 已经成为机器学习和深度学习中最主要的部分。它提供了经过优化的计算密集型工作负载和流式内存负载的能力。

其受欢迎的另一个原因是,它可以在一次调用中启动数百万个线程。它们的功能异常地优于 CPU,尽管它的时钟速度较低,并且与 CPU 相比,它也缺少许多核心管理功能。

在 Colab 中设置硬件加速器 GPU

让我们按照给定的步骤来设置 GPU。

步骤 - 1: 转到 Google Colab 中的“运行时”选项。

Python Programming with Google Colab

步骤 - 2: 它将打开以下弹出屏幕,将 None 更改为 GPU。 我们还可以按照相同的流程根据我们的要求选择 TPU。

Python Programming with Google Colab

步骤 - 3: 现在,我们将检查有关 Colab 中 GPU 的详细信息。键入以下代码以导入重要的包。

检查 GPU 加速器

输出

/device:GPU:0

现在,我们将检查用于 GPU 的硬件。

输出

[name: "/device:CPU:0"
 device_type: "CPU"
 memory_limit: 268435456
 locality {
 }
 incarnation: 11369748053613106705, name: "/device:XLA_CPU:0"
 device_type: "XLA_CPU"
 memory_limit: 17179869184
 locality {
 }
 incarnation: 514620808292544972
 physical_device_desc: "device: XLA_CPU device", name: "/device:XLA_GPU:0"
 device_type: "XLA_GPU"
 memory_limit: 17179869184
 locality {
 }
 incarnation: 15275652847823456943
 physical_device_desc: "device: XLA_GPU device", name: "/device:GPU:0"
 device_type: "GPU"
 memory_limit: 14640891840
 locality {
   bus_id: 1
   links {
   }
 }
 incarnation: 1942537478599293460
 physical_device_desc: "device: 0, name: Tesla T4, pci bus id: 0000:00:04.0, compute capability: 7.5"]

在 Google Colab 上使用终端命令

我们还可以使用 Colab 单元格来运行终端命令。在 Google Colab 中,Python 库,如 PandasNumpy、scikit-learn。

如果我们想使用以下命令安装另一个 Python 库。

运行该命令非常容易。一切都类似于常规终端。我们只需要在编写每个命令之前加上感叹号 (!) 即可,如下所示。

共享我们的笔记本

我们可以与其他人共享我们的 Colab 笔记本。这是与其他数据科学专家互动的好方法。它有助于共享我们的代码,就像共享 Google Doc 或 Google 表格一样。

Python Programming with Google Colab

我们需要单击共享按钮。它将显示创建可共享链接的选项,我们可以通过任何平台共享该链接。还有一个选项可以通过电子邮件地址邀请人们。

Python Programming with Google Colab

这是 Google Colab 的杰出功能之一。

一些重要的 Colab 命令

Colab 提供了几个惊人的命令。它提供了各种命令,方便我们快速执行操作。这些命令与 a % 前缀一起使用。所有魔术命令的列表如下所示。

输出

Available line magics:
%alias  %alias_magic  %autocall  %automagic  %autosave  %bookmark  %cat  %cd  %clear  %colors  %config  %connect_info  %cp  %debug  %dhist  %dirs  

%doctest_mode  %ed  %edit  %env  %gui  %hist  %history  %killbgscripts  %ldir  %less  %lf  %lk  %ll  %load  %load_ext  %loadpy  %logoff  %logon  %logstart  %logstate  %logstop  %ls  %lsmagic  %lx  %macro  %magic  %man  %matplotlib  %mkdir  %more  %mv  %notebook  %page  %pastebin  %pdb  %pdef  %pdoc  
%pfile  %pinfo  %pinfo2  %pip  %popd  %pprint  %precision  %profile  %prun  %psearch  %psource  %pushd  %pwd  %pycat  %pylab  %qtconsole  %quickref  %recall  %rehashx  %reload_ext  %rep  %rerun  %reset  

%reset_selective  %rm  %rmdir  %run  %save  %sc  %set_env  %shell  %store  %sx  %system  %tb  %tensorflow_version  %time  %timeit  %unalias  %unload_ext  %who  %who_ls  %whos  %xdel  %xmode

Available cell magics:
%%!  %%HTML  %%SVG  %%bash  %%bigquery  %%capture  %%debug  %%file  %%html  %%javascript  %%js  %%latex  %%perl  %%prun  %%pypy  %%python  %%python2  %%python3  %%ruby  %%script  %%sh  %%shell  %%svg  %%sx  %%system  %%time  %%timeit  %%writefile

Automagic is ON, % prefix IS NOT needed for line magics.

列出本地目录的命令

输出

drwxr-xr-x 1 root 4096 Dec  2 22:04 sample_data/

获取笔记本历史记录的命令

输出

%lsmagic
%ldir
%history

获取 CPU 时间

输出

CPU times: user 4 µs, sys: 0 ns, total: 4 µs
Wall time: 7.15 µs

获取系统运行了多长时间

输出

08:44:32 up 12 min,  0 users,  load average: 0.00, 0.03, 0.03

显示可用和已用内存

输出

/bin/bash: -c: line 0: syntax error near unexpected token `('
/bin/bash: -c: line 0: `free -hprint("-"*100)'

显示 CPU 规格

输出

Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              2
On-line CPU(s) list: 0,1
Thread(s) per core:  2
Core(s) per socket:  1
Socket(s):           1
NUMA node(s):        1
Vendor ID:           GenuineIntel
CPU family:          6
Model:               63
Model name:          Intel(R) Xeon(R) CPU @ 2.30GHz
Stepping:            0
CPU MHz:             2300.000
BogoMIPS:            4600.00
Hypervisor vendor:   KVM
Virtualization type: full
L1d cache:           32K
L1i cache:           32K
L2 cache:            256K
L3 cache:            46080K
NUMA node0 CPU(s):   0,1
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm invpcid_single ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt arat md_clear arch_capabilities

获取所有正在运行的 VM 进程的列表

输出

List all running VM processes.
Done
error: garbage option

Usage:
 ps [options]

 Try 'ps --help <simple|list|output|threads|misc|all>'
  or 'ps --help <s|l|o|t|m|a>'
 for additional help text.

For more details see ps(1).

如何在 Google Colab 中设计表单

Google Colab 提供了设计表单的功能。让我们看看以下代码以了解如何在 Google Colab 中设计表单。在本节中,我们将设计一个表单,用于获取学生信息。

输出

Python Programming with Google Colab

图形绘制

我们还可以在 Colab 中绘制各种图表以进行数据可视化。在下面的示例中,该图将显示一个包含多个多项式的图,Y = x3 + x2 + x[3]。让我们看看以下代码。

示例 -

输出

Python Programming with Google Colab

以下代码将绘制热图。

示例 -

输出

Python Programming with Google Colab

Google Colab 中的 TPU(张量处理单元)

TPU(张量处理单元)用于加速Tensorflow图。它们基于AI加速应用规范集成电路,该电路专门为神经网络机器设计。它由 Google 开发。

TPU 具有出色的 teraflops 配置、浮点性能等。每个 TPU 中有 180 teraflops 的浮点性能。通常,teraflop 是衡量计算机速度的单位。它的速度可以达到每秒一万亿次浮点运算。

如何在 Google Colab 中设置 TPU?

步骤与设置 GPU 相同。

  • 运行时 ------> 更改运行时
Python Programming with Google Colab

检查正在使用 TPU 硬件加速器

要检查 TPU 硬件加速,需要 Tensorflow 包。请参考以下代码。

Running on TPU  ['10.43.45.130:8470']

结论

Google Colab 是由 Google Research 开发的Jupyter notebook。它用于执行基于 Python 的代码,以构建机器学习或深度学习模型。它提供 GPU 和 TPU 硬件加速,并且可以免费使用(除非我们想升级到专业版)。

由于零配置功能要求,它非常易于使用和共享。

我们可以将可执行代码与 HTML、图像、Latex 等结合起来。 最好的一点是,它已经包含了重要的机器学习库,例如 TensorFlow,并且已经安装好了。 它是构建机器学习和深度学习模型的完美工具。

Colab 非常适合开发神经网络。 基于 CPU 的硬件加速器可以实现并行性和多线程执行。

如果我们使用 IDE 进行机器学习和深度学习模型,执行代码将花费很多小时。 但是借助 Google Colab,它可以在几秒钟或几分钟内完成。 它提供了从 Github 和 Google Drive 导入数据的便利性。