Google Colab 详细使用记录 | 新手版

Google colab是一个可以免费使用GPU计算资源的平台,在个人电脑没有足够计算资源的情况下,可以使用这个平台进行一些较小规模的计算。

使用该平台的方法非常便捷,仅需注册一个Google账号(需科学上网)便可登录使用,网站主要使用jupyter notebook搭载计算代码,申请计算资源后可以得到一块一般的GPU,对一些规模不大的深度学习训练也已足够。

下文为从0开始的新手记录及步骤:

1.连接平台资源

1.1 登录colab网站

https://colab.research.google.com/notebooks/intro.ipynb
colab首页

colab网站将是你进行计算的“编辑器”,你将使用左上角的“文件”选项新建编辑器,使用右上角的“连接”选项连接计算资源。

1.2 注册并使用Google Drive

https://drive.google.com/drive/my-drive
google drive

google drive及colab的使用均需注册google账号(科学上网),google drive将是你的“电脑文件夹”,你需要在google drive上传你在本地写好的代码文件夹,在colab上的运行结果也会保存在这里。

值得注意的是注册使用的免费储存空间是15G,需要注意自己使用的文件或模型资源是否过大,以及最后计算结果的文件是否超过这个限制。

2. 新建文件

2.1 colab新建笔记本

在colab上新建笔记本,或在google drive上新建colab文件并打开。

colab新建笔记本

得到jupyter notebook界面:

新建好的笔记本

其中的代码块即为执行程序的地方:
1)可以直接在代码块上书写代码,或引入google drive中的代码文件执行(将在后文提到);
2)点击左上角的“代码”按钮新建代码块;
3)每个代码块独立执行,即点击到对应代码块的“启动”按钮才会执行该代码块;
4)点击代码块最左侧的“启动”即可执行代码,点击“暂停”即停止执行。

注意:新建文件时不必急于连接GPU计算资源,一方面,GPU计算资源有使用时长限制,另一方面,一旦连接资源后会进行频繁的人机验证,建议等一切文件准备就绪后再连接资源。

2.2 google drive上传代码文件

在colab notebooks文件夹内上传本地的代码文件夹。

上传代码文件夹

注意:google drive上传文件较为缓慢,一般1g+的代码文件夹可能需要上传40-60min才能上传完成。

3. 执行程序准备

3.1 连接google drive资源

在colab新建的笔记本中执行连接google drive资源代码,将笔记本与上传的代码文件夹连接。

from google.colab import drive
drive.mount('/content/gdrive')
import os
os.chdir("/content/gdrive/MyDrive/Colab Notebooks")

点击执行代码后,右上角即会自动开始连接计算资源。

随后会弹出连接请求,需要进行点击验证。

弹窗验证

验证完成后,点击左侧边栏的文件夹即会看到多出了一个gdrive文件夹,其中colab notebooks内即包含你在google drive中上传的代码文件。

注意:切记返回查看google drive是否上传完成,未上传完成时可能仅有部分文件无法执行代码。

连接google drive

3.2 安装部分依赖

colab包含pytorch因此无需安装,但datasets、transformers等框架均需在笔记本上安装。

! pip install transformers
安装框架

3.3 连接GPU

点击右侧的计算资源按钮,选择下方的“更改运行时类型”。

查看资源

更改到GPU即可获得一块GPU进行计算。

连接GPU

4. 执行代码

4.1 执行代码文件

可以选择直接执行文件夹中的代码文件,或直接新建代码块在代码块上书写代码。

执行python代码文件:

! python ./你在google drive上传的代码文件名/train.py
执行代码文件

注意:

1)代码文件随时可以点击修改,在文件夹中点击代码文件,colab会在页面右侧弹出代码文件,即可进行修改;
2)注意调用path,代码在本地运行时原本直接调用文件夹内文件的部分,需要添加文件夹名这一路径。

例如:

#本地文件
tokenizer = BertTokenizer(vocab_file='chinese_bert_wwm/vocab.txt')
#需要更改为:
tokenizer = BertTokenizer(vocab_file='./你在google drive上传的代码文件名/chinese_bert_wwm/vocab.txt')

4.2 保存结果

程序执行结束后,所有执行结果都会保存在google drive内代码文件夹的预设路径中。

如果需要保存colab的执行代码,可以另存文件副本,或在关闭时保存即可,所有文件会保存在google drive中的colab文件夹下。

以上。