深度学习 | 免费使用Google Colab的GPU云计算平台

2018 年 2 月 4 日 沈浩老师 沈浩

这几天在美国上网不用翻墙了,看到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={creds.client_id} -secret={creds.client_secret} < /dev/null 2>&1 | grep URL
vcode = getpass.getpass()
!echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_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 -q http://download.pytorch.org/whl/cu75/torch-0.2.0.post3-cp27-cp27mu-manylinux1_x86_64.whl torchvision
import torch


MxNet安装

!apt install libnvrtc8.0
!pip install mxnet-cu80

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是免费的,如果能够翻墙是一个非常好的运行环境,安装各种包都随意,缺啥随时按啥,测试各种包和深度学习案例非常方便和友好,也能增强对云计算和平台运行的理解。完全可以作为学习环境玩各种深度学习案例,也可以将来用在自己的深度学习机上。





沈浩老师

——————
中国传媒大学新闻学院教授、博士生导师
中国传媒大学调查统计研究所所长

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

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




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





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

微信号:CMRA_2001

数艺智训
DAtraining

欢迎关注:灵动数艺

——数艺智训

数据艺术家
TableauHome





登录查看更多
12

相关内容

Google Colaboratory是谷歌开放的一款研究工具,主要用于机器学习的开发和研究。这款工具现在可以免费使用,但是不是永久免费暂时还不确定。Google Colab最大的好处是给广大的AI开发者提供了免费的GPU使用。
深度学习自然语言处理概述,216页ppt,Jindřich Helcl
专知会员服务
212+阅读 · 2020年4月26日
【资源】100+本免费数据科学书
专知会员服务
107+阅读 · 2020年3月17日
【MIT深度学习课程】深度序列建模,Deep Sequence Modeling
专知会员服务
77+阅读 · 2020年2月3日
【新书】傻瓜式入门深度学习,371页pdf
专知会员服务
188+阅读 · 2019年12月28日
谷歌机器学习速成课程中文版pdf
专知会员服务
145+阅读 · 2019年12月4日
【机器学习课程】Google机器学习速成课程
专知会员服务
164+阅读 · 2019年12月2日
【干货】谷歌Joshua Gordon 《TensorFlow 2.0讲解》,63页PPT
专知会员服务
27+阅读 · 2019年11月2日
【课程】伯克利2019全栈深度学习课程(附下载)
专知会员服务
56+阅读 · 2019年10月29日
免费!Google Colab现已支持英伟达T4 GPU
新智元
5+阅读 · 2019年4月25日
如何分分钟构建强大又好用的深度学习环境?
机器之心
3+阅读 · 2019年3月17日
DLI 精选课程 | 用TensorRT 优化和部署TensorFlow模型
英伟达NVIDIA中国
6+阅读 · 2019年3月8日
入门最佳:PyTorch深度学习免费课程
新智元
7+阅读 · 2018年9月18日
在浏览器中使用tensorflow.js进行人脸识别的JavaScript API
人工智能头条
6+阅读 · 2018年7月2日
实践 | 如何快速训练免费的文本生成神经网络
黑龙江大学自然语言处理实验室
4+阅读 · 2018年6月4日
Arxiv
5+阅读 · 2020年3月26日
Arxiv
15+阅读 · 2020年2月6日
Arxiv
11+阅读 · 2019年6月19日
ViZDoom Competitions: Playing Doom from Pixels
Arxiv
5+阅读 · 2018年9月10日
Neural Architecture Optimization
Arxiv
8+阅读 · 2018年9月5日
Arxiv
8+阅读 · 2018年5月15日
Arxiv
6+阅读 · 2018年4月24日
Arxiv
3+阅读 · 2017年12月18日
VIP会员
相关VIP内容
深度学习自然语言处理概述,216页ppt,Jindřich Helcl
专知会员服务
212+阅读 · 2020年4月26日
【资源】100+本免费数据科学书
专知会员服务
107+阅读 · 2020年3月17日
【MIT深度学习课程】深度序列建模,Deep Sequence Modeling
专知会员服务
77+阅读 · 2020年2月3日
【新书】傻瓜式入门深度学习,371页pdf
专知会员服务
188+阅读 · 2019年12月28日
谷歌机器学习速成课程中文版pdf
专知会员服务
145+阅读 · 2019年12月4日
【机器学习课程】Google机器学习速成课程
专知会员服务
164+阅读 · 2019年12月2日
【干货】谷歌Joshua Gordon 《TensorFlow 2.0讲解》,63页PPT
专知会员服务
27+阅读 · 2019年11月2日
【课程】伯克利2019全栈深度学习课程(附下载)
专知会员服务
56+阅读 · 2019年10月29日
相关资讯
相关论文
Arxiv
5+阅读 · 2020年3月26日
Arxiv
15+阅读 · 2020年2月6日
Arxiv
11+阅读 · 2019年6月19日
ViZDoom Competitions: Playing Doom from Pixels
Arxiv
5+阅读 · 2018年9月10日
Neural Architecture Optimization
Arxiv
8+阅读 · 2018年9月5日
Arxiv
8+阅读 · 2018年5月15日
Arxiv
6+阅读 · 2018年4月24日
Arxiv
3+阅读 · 2017年12月18日
Top
微信扫码咨询专知VIP会员