这几天在美国上网不用翻墙了,看到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是免费的,如果能够翻墙是一个非常好的运行环境,安装各种包都随意,缺啥随时按啥,测试各种包和深度学习案例非常方便和友好,也能增强对云计算和平台运行的理解。完全可以作为学习环境玩各种深度学习案例,也可以将来用在自己的深度学习机上。
沈浩老师
大数据挖掘与社会计算实验室主任
中国市场研究行业协会会长
欢迎关注沈浩老师的微信公共号
欢迎关注:灵动数艺
——数艺智训