# 前言
因为电脑Macbook Pro硬件条件限制,显卡不支持cuda,导致在很多需要GPU大量计算的场景(如神经网络训练,机器学习)无法使用,经过检索,在伟大的互联网上找到了一个由Google推出的Colab平台,允许我们限时免费使用CPU和GPU。了解深度学习的小伙伴都知道,GPU的计算的速度要远快于CPU,高算力的GPU是深度学习的重要保证,显卡的配置决定了计算力,Colab提供的GPU为我们提供了免费学习的机会,这也是Colab的一个显著优势。
优势
- 限时提供免费CPU和GPU算力
- 免费提供15G存储空间
限制
- 需要科学上网
- 了解基本的Python语法
什么是CUDA?
CUDA 是 NVIDIA(英伟达)公司 2007 年推出的通用并行计算平台和编程模型。它让开发者可以直接用 C/C++/Fortran/Python 等语言在 NVIDIA GPU 上编写并运行通用计算程序,而不仅限于图形渲染。
一句话总结:CUDA 让 NVIDIA GPU 从"只能画三角形"变成了"万能并行计算怪兽",是深度学习、高性能计算领域的基石技术。
Colab简介
Colab(Google Colaboratory)是由 Google 提供的 免费云端 Jupyter Notebook 环境,主打"零配置、点开即用",特别适合没有高配显卡或不想折腾本地环境的开发者、学生和研究者。
Colab相关概念
- Jupyter Notebook笔记:在Colab中创建的笔记都是基于 .ipynb 的文件,也就是Jupyter Notebook格式的python文件。这种笔记本文件与普通.py文件的区别是可以分块执行代码并立刻得到输出,同时也可以很方便地添加注释,非常适合一些轻量的任务和学习笔记。
- 代码执行:Colab中代码都是在云端虚拟机中执行的,执行完的结果会执行回显在笔记中
- 实例空间:创建笔记后,Colab会为其分配实例空间,也可以理解为执行程序的虚拟机,实例空间包含存储大小、命令行、环境变量等
- 管理会话:当笔记连接到实例空间后,就成为了一个会话(Session)
注册登录
直接访问Google云硬盘地址:drive.google.com/
使用Google账号登录,没有Google账号的小伙伴需要自行注册Google账号

登录完成后即可进入Google云端硬盘,每个免费账号默认赠送15GB存储空间

基本使用
创建笔记
点击【我的云端硬盘】右键【新建文件夹】创建一个文件夹

选中文件夹,右键【Google Colabboratory】新建一个colab Jupyter Notebook笔记

笔记创建完成会自动跳转到笔记详情,笔记界面如下:

笔记基本功能
文件目录
colab笔记包含了很多功能,最左侧是 目录、代码片段、Secret 以及 文件目录

我们可以添加文档看看效果,鼠标放到右侧会显示功能菜单,点击添加代码和文本可以创建代码块和文档

我们添加两个文本块,文本块双击可以进入编辑模式,可以使用文本和markdown语法编写目录,左侧就会同步展示目录对应的层级

目录层级可以快速切换文档,点击目录层级也可以收起和展开目录

代码片段
点击左侧第二项,可以看到Colab内置的代码片段

点击插入可以一键将代码片段插入到笔记中

Secret管理
左侧第三项为Secret管理,在这里设置Secret,通过提供的userdata可以一键获取,相当于项目环境配置文件

点击【添加新密钥】创建一个secret,开启访问权限,在右侧输入代码执行即可获取

文件管理
左侧第四项为文件管理,笔记生成的文件都会在此展示

命令行终端
点击底部的【终端】可以打开命令行终端配置

和普通的命令行终端一样,在这里可以进行命令行操作

AI助手
Colab集成了Gemini AI,在Colab中点击【Gemini】可以直接唤起AI助手

在Chat中输入提示词要求,会使用Gemini输出结果,可以选择【接受】插入代码,对结果不满意也可以选择【取消】放弃

使用CPU
连接运行时
进入笔记后,Colab会自动分配CPU和GPU机器,点击顶部【重新连接】或者下拉选择【连接到托管的运行时】即可连接到CPU虚拟机

连接成功后,点击下拉选择【查看资源】可以看到Colab为我们分配的机器配置

这里为我分配的是 RAM 12.7GB, 硬盘 107.7GB 配置的机器,在此配置下可运行时长为 86个小时,不过这个时间会随性能改变,要时刻注意这个运行时间,不使用时要关掉连接,运行时长也尽量不要超过这个时间,不然可能会出现无法使用的情况

基本使用
注意执行指令需要在指令前面添加
连接上虚拟机后,接下来就可以开始运行代码了,比如执行命令行终端指令查看当前文件列表
shell
# 执行终端指令
$ !ls -la

也可以编写python代码
python
import gradio as gr
def greet(name):
return "Hello " + name + "!"
demo = gr.Interface(fn=greet, inputs="text", outputs="text")
demo.launch()

运行后效果和本地运行在浏览器打开效果一致

删除运行时
不使用时需要关闭虚拟机,运行实例下拉点击【断开连接并删除运行时】可以断开运行时连接

删除成功后,虚拟机会变成重新连接状态

使用GPU
使用GPU就是将虚拟机切换到带GPU配置的虚拟机环境
连接运行时
点击笔记顶部【重新连接】或者下拉选择【更改运行类型】

可以看到这里Colab为我分配的是T4 GPU,虽然说不是很好,也能勉强用了,只需要选择【T4 GPU】点击【保存】即可连接

再次顶部【重新连接】启动运行时,启动成功后,此时的机器配置和运行时长已发生改变,GPU分配的是 RAM 12.7GB, 硬盘 112.6GB,GPU 15GB 配置的机器,在此配置下可运行时长为 3小时30分。

基本使用
连接上GPU虚拟机后,就可以跑一些深度学习或者生图相关的代码了,这里以 stabilityai/sdxl-turbo 为例
安装依赖
css
$ !pip install diffusers transformers accelerate --upgrade
输入以下文生图代码
ini
from diffusers import AutoPipelineForText2Image
import torch
if torch.cuda.is_available():
device = "cuda"
torch_dtype = torch.float16
else:
device = "cpu"
torch_dtype = torch.float32
pipe = AutoPipelineForText2Image.from_pretrained("stabilityai/sdxl-turbo", torch_dtype=torch_dtype, variant="fp16")
pipe.to(device)
prompt = "A cinematic shot of a baby racoon wearing an intricate italian priest robe."
image = pipe(prompt=prompt, num_inference_steps=1, guidance_scale=0.0).images[0]
display(image)

点击运行执行,执行过程中会下载模型相关配置第一次时间会稍微长一些

执行完成后就可以看到文生图效果了

删除运行时
和CPU关闭虚拟机的操作一样,运行实例下拉点击【断开连接并删除运行时】断开运行时连接

友情提示
见原文:初识Google Colab
本文同步自微信公众号 "程序员小溪" ,这里只是同步,想看及时消息请移步我的公众号,不定时更新我的学习经验。