Google免费GPU使用教程

初识深度学习,想找几个模型训练一下,又苦于笔记本的计算能力太弱。自己搭建一台深度学习服务器又麻烦又贵,搭载K80的AWS EC2 P2实例,十几个小时训练下来也很心疼钱包啊。有没有现成又免费的深度学习平台呢?嘻嘻,今天就给大家介绍Google的一项免费云端机器学习服务——Colaboratry。

Google Colab 提供免费的 Jupyter 笔记本环境,不需要进行任何设置就可以使用,并且完全在云端运行,其默认的后台深度学习框架是TensorFlow, 除此之外,你也可以在上面安装并使用Keras、PyTorch、OpenCV等等流行的深度学习库来练练手,开发深度学习应用。Google还贴心地写了中文版简介:https://colab.research.google.com/notebook

1. 准备工作

要使用Colab,首先我们需要有一个Google Drive账号(当然,前提条件是你能科学上网,限于篇幅此处不具体介绍,请自行百度)。请注意,非教育邮箱申请到 Google Drive账号云盘只有15个G的免费容量,这对于深度学习是远远不够的,要知道可能一个数据集都不止15个G。因此你必须想办法将云盘扩容,这…..可能就要收费了。嘻嘻,秉持着免费到底的原则,小编这里附上一个链接,教你如何申请美国的教育邮箱,获取无限量的google云盘容量,过程有点繁琐,但是谁让你免费呢?网址见文末附录。

Colab用的数据都存储在Google Drive云端硬盘上,所以为了方便管理我们的项目,先在GoogleDrive上新建一个文件夹,用于存放项目有关的所有文件。这里我们新建一个文件夹,取名“MyProject”。

双击进入“MyProject文件夹”

(此处我的网页被自动翻译为中文了,为了更普遍,文字介绍的是对应的英文网页,大家只要自行翻译一下就可以理解了)

之后若想上传本地电脑的文件或文件夹到这里就可以通过拖曳或点击“New”上传。紧接着我们新建一个笔记本(notebook): 右击空白处或者单击“New”,选择“Connect more apps”。搜索Colaboratory,选择“connect”。

然后新建一个Colab笔记本:右击或单击“New>more>Colaboratory”

这里将新建的笔记本取名为 “GetStarted”。

2. 设置免费GPU

可以在”Edit>Notebook Settings”中设置笔记本所用的默认硬件,或者”Runtime>Change runtime type”,然后在Hardware accelerator(硬件加速器)一栏选择GPU,然后就可以在Google Colab里使用GPU运行基本的python代码了。

3. 安装各种工具包

使用!pip install 或者!apt-get install命令,值得注意的是,在Colab中,在命令前加上感叹号“!”运行的就是linux命令。

4. 用Colab运行GoogleDrive中的.py文件

将要运行的.py文件上传至GoogleDrive, 这里我们上传到新建的”MyProject”文件夹中。

目前,我们的工作目录默认在 “/content” 目录下,该目录下只有一个默认建好的“sample_data”文件夹:(!pwd命令查看当前工作目录,使用! ls命令查看当前工作目录下的所有文件和文件夹)

为了能运行Google Drive上 “MyProject” 文件夹中的exe1.py文件,首先我们要将当前工作目录挂载在google Driver上的”MyProject”路径下。注意,这一步网上的许多教程所说的方法都已经是失效的,小编查询官方文档后发现其实只要两行代码就可以了:

1
2
from google.colab import drive 
drive.mount('/content/drive')

运行后会出现一个链接,点击该链接,选择自己的google账号,之后复制出现的密钥,粘贴至下方框中即可。

之后输入 ! ls,或者刷新左侧文件目录,你会发现新出现了一个”drive”文件夹。依次打开文件夹可以找到上传的“exe1.py”文件和新建的“GetStarted.ipynb”笔记本。

再修改当前工作目录到“MyProject”目录下,使用python的 os模块的chdir()函数,之后检查当前目录的文件,得到如下结果:

接下来就可以在Colab中使用命令行运行exe1.py了,输入!python exe1.py即可运行。

5. 下载数据集

训练模型当然少不了大量数据集,当然你可以通过拖曳将本地数据集上传到google drive上,可是那样你会崩溃的——太慢慢慢慢慢慢慢了。所以,最好的办法是让谷歌服务器直接下载数据,而不是本地电脑下载数据集再传送过去。怎么做呢?使用!wget命令——

由于下载的是.zip压缩包,需要解压,使用!unzip命令。

接着刷新就看到下载的数据集“train2014”了

![](/images/gpu13.png

6. 克隆gitub上项目代码

我们也可以在Colab中直接将gitub上别人的项目代码拷贝过来,使用!git clone 命令

刷新,左侧出现https://github.com/elleryqueenhomels/arbitrary_style_transfer 网址上的项目文件夹,是不是很方便?

另外,左侧“代码段”菜单是官方给出的一些常用代码段,如打开、保存、写入一个文件等,直接双击该代码段,再做一些修改就可使用,有什么不懂的建议阅读官方文档,或者在google, StackOverflow中提问,因为百度上的许多回答都是很久之前的,已经失效。

附录:

教育邮箱申请,不限量GoogleDrive容量:

https://nvtnet.com/edu邮箱申请-google-drive无限储存,office365教育版(在线)