免费使用Google Colab的GPU云计算平台

这几天在美国上网不用翻墙了,看到Google推出免费使用GPU的深度学习云计算平台Google Colaboratory,决定测试一下。

Google Colab提供的是免费Tesla K80 GPU,可以玩Keras、Tensorflow、PyTorch或者Mxnet等。Tesla K80还是一块比较高性能的GPU,俺实验室购买的是Nvidia1080Tian,不过是四块GPU配置。

尽管可以远程登录国内实验室的深度学习机,但编辑写代码还是有点不方便。

我开始玩玩Google Colab,这实际上相对于Google给你一个带GPU的云计算的VM虚拟机,50G存储,运行操作系统是Linux,不过这个不用太关心,可以使用Python2和Python3的Jupyter Notebook,建议从现在开始能用Python3就用。

Google Colab是谷歌为人工智能开发者提供的免费云服务。有了Colab, 你可以免费在 GPU 上开发深度学习应用程序。

Google Colab 是完全免费的,完全免费,完全免费! 重要的事情说三遍,不过一次只能使用12个小时,当然要能够访问Google,你懂的!

首先你要注册一个账号,推荐注册Gmail账号,这个非常有用,不多说了!

登录:https://docs.google.com/document/u/0/ 也就是google的云文档word、ppt或Excel等都是在线的。里面找到google提供的“云端硬盘”(一般有15G)

点击进入,当然以后可以直接链接进入 :https://drive.google.com/drive/

现在开始:Colab可以帮助我们

提升你的 Python 编码技巧,里面有很多智能编程提示,问题链接,提示安装包等

使用Keras, TensorFlow, PyTorch, and OpenCV 等流行深度学习框架开发应用程序

可以练习各种包的安装和测试,反正12个小时后重新在来!

Colab可以使用自己账号Google Drive, 首先指定我们将要使用的文件夹。我在 Google Drive 上创建了一个名为"app"的文件夹。 当然, 可以使用不同的名称或选择默认的 Colab 笔记本文件夹而不是应用程序文件夹。

接下来:Create a new notebook via Right click > More > Colaboratory

这时候就可以开启一个新的Jupyter Notebook了,可以改名字,写代码了,不过先别着急,我们需要设定GPU

设定GPU和Python2/3

只需要按编辑笔记本设置或运行时更改运行时类型, 然后选择 GPU 作为硬件加速器。

Edit > Notebook settings or Runtime>Change runtime type and select GPU as Hardware accelerator.

开始设定运行环境:

在开始编写代码或程序前需要一些环境设置,期望把后面的代码专门保留在一个Setup.ipynb内方便以后(12小时)后运行。

第一步:

首先运行下列代码以安装必要的Python库并执行读取Drive云盘存储授权。

!apt-get install -y -qq software-properties-common python-software-properties module-init-tools

!add-apt-repository -y ppa:alessandro-strada/ppa 2>&1 > /dev/null

!apt-get update -qq 2>&1 > /dev/null

!apt-get -y install -qq google-drive-ocamlfuse fuse

from google.colab import auth

auth.authenticate_user()

from oauth2client.client import GoogleCredentials

creds = GoogleCredentials.get_application_default()

import getpass

!google-drive-ocamlfuse -headless -id= -secret= < /dev/null 2>&1 grep URL

vcode = getpass.getpass()

!echo google-drive-ocamlfuse -headless -id= -secret=

当你运行上面的代码时, 应该看到这样的结果:

点击 shift+Enter,如果获得下面结果表示授权成功:

Please enter the verification code: Access token retrieved correctly.

第二步:Google Colab授权并安装Google Drive

!mkdir -p drive

!google-drive-ocamlfuse drive

如果成功,表明你可以用自己的drive/app驱动器存储自己的文件了

记住如果你想保留文件,无论是程序还是下载的数据,一定要保证Path正确设定在自己的驱动器目录下!

当然你也可以不操作这个授权,Google Colab在VM虚拟机上有标准的datalab/目录存储文件,但以后不会保留下来的!

接下来就可以安装深度学习各种框架包了,只要在安装命令行前加上!即可。

例如:! pip install -q keras

当然你可以将已有的程序.ipynb或数据上传到Drive/app内运行,也可以直接在程序中下载各种案例和数据。

常用的方法:

1-从Github克隆下载

!git clone https://github.com/wxs/keras-mnist-tutorial.git

2-wget下载目标数据集到指定文件夹: drive/app

!wget https://raw.githubusercontent.com/vincentarelbundock/Rdatasets/master/csv/datasets/Titanic.csv -P drive/app

读取文件:

import pandas as pd

titanic = pd.read_csv(“drive/app/Titanic.csv”)

titanic.head(5)

我测试了一个Keras的运行程序,Fashion-MNIST.ipynb 这是一个10类衣服图像分类算法;也是一个MNIST数据集的变种。

建议每次运行前先执行下列命令查看是否运行在GPU环境和VM环境50G容量的占用情况:

加载各种包,利用Tensorflow backend,下载数据集FASHION-MNIST

拆分数据Train和Test数据集,建立Keras模型框架

输出模型Summary

设定参数和规范标准化数据尺度

俺是在运行结果稳定后,才执行将模型Model保存在自己的文件夹里。

这个模型用Google Colab跑出的结果是90.1%的准确性。

不过我测试了一下,同样数据集和模型用我Mac电脑的CPU跑非常慢,用Colab跑大概花了1个小时。

各种包的安装:!pip install 或者 !apt-get install

Keras安装

!pip install -q keras

import keras

PyTorch安装

!pip install -qhttp://download.pytorch.org/whl/cu75/torch-0.2.0.post3-cp27-cp27mu-manylinux1_x86_64.whltorchvision

import torch

MxNet安装

import mxnet as mx

OpenCV安装

!apt-get -qq install -y libsm6 libxext6 && pip install -q -U opencv-python

import cv2

XGBOOST安装

!pip install -q xgboost==0.4a30

import xgboost

GraphViz安装

!apt-get -qq install -y graphviz && pip install -q pydot

import pydot

Zip Reader安装

!apt-get -qq install -y libarchive-dev && pip install -q -U libarchive

import libarchive

总结一下: 没有GPU很多深度学习案例无法跑结果,Google Colab是免费的,如果能够翻墙是一个非常好的运行环境,安装各种包都随意,缺啥随时按啥,测试各种包和深度学习案例非常方便和友好,也能增强对云计算和平台运行的理解。完全可以作为学习环境玩各种深度学习案例,也可以将来用在自己的深度学习机上。

沈浩老师

——————

中国传媒大学新闻学院教授、博士生导师

中国传媒大学调查统计研究所所长

大数据挖掘与社会计算实验室主任

中国市场研究行业协会会长

欢迎关注沈浩老师的微信公共号

欢迎关注俺任会长的市场研究协会:

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180205G013J000?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券