一、简介
Colab 是 Google Colaboratory 的简称,它是一个免费的 Jupyter 笔记本环境,无需任何配置就可以在浏览器中编写和执行 Python 代码,完全在云端运行。
当然重要的是它提供了免费使用的 GPU,可以让我们更轻松地完成实验,目前 Google 提供的 GPU 普遍还是 Tesla K80,虽然之前说是全面将 K80 替换为 Tesla T4、16GB 显存,但现在使用的时候还是随机分配的,二者的算力具体差距有多少,请参考 NVIDIA官网 的数据。
二、如何使用
访问谷歌需要你科学上网的能力,如果你无法访问外网,后面的内容也就不需要看下去了。
1、注册谷歌邮箱
Colab和Google云端硬盘均是Google的产品,需使用谷歌账号,请自行百度教程完成注册。
2、访问Colab
Colab地址:https://colab.research.google.com/notebooks/intro.ipynb
初始界面如下,左侧目录列出了各种使用说明,供初学者学习。
以下介绍一下基本的使用步骤:
(1) 新建笔记本:点击上方的文件选修进行创建
(2)使用GPU:想用Colab当然冲着免费的GPU去啦!!
设置使用GPU十分简单,有两个设置入口。
一是从 修改选项 点击 笔记本设置 进入,二是从代码执行程序选项 点击 更改运行时类型 进入,在弹出的对话框中选择GPU即可。
注意GPU的分配的随机的,至于分配到的是 Tesla K80 还是 T4 只能说看天意了。
如何查看运行的GPU型号?使用脚本命令
需要注意的是,Colab就像一个Jupyter笔记本,但它同时可以处理系统命令。
在colab环境下,系统命令必须添加 ”!” 符号才能正常使用,否则会提示错误。 ”!” 符号告诉笔记本单元这行不是Python代码,它是一个命令行脚本。
使用脚本命令查看当前运行的GPU型号:
!nvidia-smi
测试如下,这次比较幸运的分配到了 Tesla T4 !!!
(3)安装深度学习平台(TensorFlow 或 Pytorch)
在Colab下,已经预先提供了两个版本的 TensorFlow: a 2.x 和 a 1.x 版本。对 TensorFlow 的玩家来说无需进行多余的安装配置,Pytorch 玩家哭出声来。
使用 TensorFlow 只需在运行前声明版本即可:
%tensorflow_version 1.x
import tensorflow as tf
print(tf.__version__)
测试结果如下,注意版本声明只能声明一次,选择后无法修改,只能断开重连进行重选。
Pytorch 玩家的配置其实也不复杂:
可查看官方安装命令 http://pytorch.org/
直接用 pip install 命令进行安装即可,分别安装 torch 和 torchvision,再次提示在colab环境下,系统命令必须添加”!”符号才能正常使用!
!pip3 install http://download.pytorch.org/whl/cu80/torch-0.3.1-cp36-cp36m-linux_x86_64.whl
!pip3 install torchvision
安装成功后,测试结果如下
3、使用Google云端硬盘管理项目
使用 colab 创建的笔记本会自动保存在你的谷歌云端硬盘上,Google云端硬盘提供了15GB的免费空间用于用户的存储,如果你的项目有较大的数据集或者运行时间过长则推荐将项目上传到云盘中进行。
(1)访问Google云端硬盘
Google云端硬盘地址:https://drive.google.com/drive/my-drive
除了通过地址访问,你也可以点击Colab的图标进入。
(2)在代码中挂载谷歌云盘
在Colab环境下,实际上为我们分配一台远程的带GPU的主机,它的原始路径不是你的谷歌云盘(也就是你的代码文件)所在的路径。所以我们首先要把谷歌云盘挂载带到那台远程主机上:
from google.colab import drive
drive.mount('/content/gdrive')
运行代码后会提示让你输入验证码,按提示完成即可。
(3)将运行目录更改到你的项目目录
import os
os.chdir("/content/gdrive/My Drive/MyProject/Problem2")
这里我的代码存放在 MyProject 文件夹下的 Problem2 文件夹。
(4)运行代码
第一种方式是直接按上述例子,像Jupyter Notebook一样运行。
第二种方式是将 python文件 上传到你的云端硬盘,包括数据集。然后使用命令行运行,运行前注意路径设置是否正确。如下:
! python example.py
三、注意事项、使用技巧
1、使用云端硬盘保存数据
直接使用colab时可以上传临时数据,保存临时结果,一旦断开连接,数据将会丢失,所以强烈建议使用云端硬盘保存数据。
2、断开连接解决办法
在使用Colab时,一段时间挂机未操作有可能导致连接断开,但是要是想跑时间较长的项目时不可能一直盯着屏幕,解决办法如下:
在浏览器中按F12,找到console将下面代码粘贴到控制台回车即可。
若刷新了页面请重新执行上述步骤
function ClickConnect(){
colab.config
console.log("Connnect Clicked - Start");
document.querySelector("#top-toolbar > colab-connect-button").shadowRoot.querySelector("#connect").click();
console.log("Connnect Clicked - End");
};
setInterval(ClickConnect, 60000)
3、运行时间过长的项目
Colab使用时间过长也有几率会掉线,对执行时间过长的项目来说,建议保存中间结果,下次使用时可以直接读取中间结果继续跑,持续白嫖。