免费使用谷歌的深度学习云服务
在上一篇文章《机器学习硬件设施差?免费使用谷歌的GPU云计算平台》中,我们说明了如何使用Google Colab云平台。通过Jupyter Notebook,我们可以交互式的运行python脚本,然而对于复杂的python脚本,我们通常会编写python文件,甚至编写python模块,组合成应用。本篇我们将演示如何在Google Colab上执行python文件,克隆github项目,进行深度学习
在上一篇文章《机器学习硬件设施差?免费使用谷歌的GPU云计算平台》中,我们说明了如何使用Google Colab云平台。通过Jupyter Notebook,我们可以交互式的运行python脚本,然而对于复杂的python脚本,我们通常会编写python文件,甚至编写python模块,组合成应用。本篇我们将演示如何在Google Colab上执行python文件,克隆github项目,进行深度学习建模。
在Google Colab中导入并运行.py文件
为了达到这一目的,你需要安装一些必要的系统库,并进行授权。
!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}
运行之后,会出现以下结果:
点击其中的链接,复制验证码,粘贴到文本框中,回车,完成授权。
这里为什么需要授权?Google Colab和Google Drive毕竟属于两个不同的产品,Google Colab相当于分配给每个用户一个云虚拟机,要挂载Google Drive当然需要授权。
接下来就是挂载Google Drive:
!mkdir -p drive
!google-drive-ocamlfuse drive
上传github上的一个文件mnist_cnn.py到Google Drive的GoogleAI文件夹(参考上一篇文章:机器学习硬件设施差?免费使用谷歌的GPU云计算平台)。
因为这个python程序使用到了Keras框架,所以运行前还需要安装Keras框架:
!pip install -q keras
现在可以运行脚本了,这个脚本是在MNIST数据集上训练一个简单的深度卷积网络。
!python3 drive/GoogleAI/mnist_cnn.py
从上面的示例可以总结出,在Notebook中执行外部命令,比如apt-get、mkdir等,需要在命令前加上!符号。如果你还需要其它的python库,可以通过pip install命令来安装,从这个意义上讲,Google Colab上可以使用几乎所有的机器学习框架。
克隆github仓库到Google Colab
找到github仓库的git地址
比如:https://github.com/wxs/keras-mnist-tutorial
克隆git仓库
!git clone https://github.com/wxs/keras-mnist-tutorial.git drive/GoogleAI/keras-mnist-tutorial
- 在Google Drive中访问文件夹
- 打开Notebook文件
- 运行
注意:该Notebook包含多个交互代码段,请依次点击每个代码段执行。
如何安装库
- 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
- 7zip Reader
!apt-get -qq install -y libarchive-dev && pip install -q -U libarchive
import libarchive
其它
使用!pip install或!apt-get install命令,具体参考库的安装说明。
如何重启Google Colab?
!kill -9 -1
Google Colab的缺点
看了上面的介绍,你是否磨掌擦拳,准备将项目迁移到Google Colab上?且慢,天下没有免费的午餐,下面说说Google Colab的不足之处。
Google Colab最大的不足就是使用虚拟机,这意味着什么呢?
这意味着我们自行安装的库,比如Keras,在虚拟机重启之后,就会被复原。为了能够持久保存数据,我们可以借助Google Drive。还记得我们之前为了挂载Google Drive所做的操作吗?这也同样意味着重启之后,要使用Google Drive,又要把上面的步骤执行一遍。更糟糕的是,不仅仅是虚拟机重启会这样,在Google Colab的会话断掉之后也会这样,而Google Colab的会话最多能够持续12小时。
当然,Google Colab已经默认安装了Tensorflow的环境,如果你是准备使用Tensorflow进行深度学习,那还是不错的,但也仅限于小型的数据建模。
参考
更多推荐
所有评论(0)