Google Colab使用教程

简介

Google Colaboratory是谷歌开放的云服务平台,提供免费的CPU、GPU和TPU服务器。

目前深度学习在图像和文本上的应用越来越多,不断有新的模型、新的算法获得更好的效果,然而,一方面对资源的要求越来越高,另一方面很多开源的模型在国内无法使用。例如,前段时间研究的图片风格快速转换中用到的模型训练,在GPU上运行需要4个多小时,在CPU上无法想象。再者,tensorflow-hub开源的很多模型,我在使用某种软件的前提下,依然无法访问。

解决上述问题的一种方法,就是使用谷歌的Colab平台。他提供的GPU型号是Tesla K80,并且预安装了常用的框架,例如TensorFlow等。

账号

Colab 和 Google Drive使用同一账号登录。

Google Drive: https://drive.google.com/drive
Colab: https://colab.research.google.com/drive/

使用流程

我将谷歌云盘作为Colab的外挂硬盘使用,每次启动需要使用以下步骤:

  1. 在“我的云端硬盘”中创建文件夹“Colab”,用于存放Colab中相关文件。(注意最好不要有空格,以避免不必要的错误)
  2. 点击左上角“新建”,选择Colaboratory。首次使用,需要关联Colab应用。
  3. 创建新应用后,Drive的当前路径下会生成 Unititled*.ipynb,也就是保存当前Colab窗口内容的文件。 每次新建,都需要重新配置环境。
  4. 配置“笔记本设置”。选择“修改”-“笔记本设置”,设置python版本和服务器类型。
  5. 安装必要的包和软件。
!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}
  1. 关联Google Drive。
!mkdir -p drive
!google-drive-ocamlfuse drive

点击左侧菜单,可以看到“文件”下方生成了一个“drive”文件夹,和云盘中文件夹保持同步。
5. 安装需要的工具(可以省略)。

其他操作

(1) colab中使用linux命令,前面需要加上"!",例如,创建文件夹:

!mkdir colab

(2) 切换工作目录使用chdir函数

import os
os.chdir("/content/drive/Colab")

(3) 设置方便可用的快捷键。

打开“工具”-“键盘快捷键”进行设置。

(4) 左侧菜单中间“代码段”中,可用根据需要选择常用代码,例如加载drive中的数据,保存文件到本地系统。

(5)Colab最多连续使用12小哥,超过时间系统会强制停止,再次使用需重新配置。

下载TF-hub模型

因为某种原因,国内无法访问tf-hub,其中提供的很多模型也无法使用。如果直接在Colab中使用,可以按照官网指定代码运行使用。如果想要下载到本地使用,需要在colab中运行以下代码:

以下载通用句子编码(universal-sentence-encoder model)为例:

# Create a folder for the TF hub module.
$ mkdir /tmp/moduleA
# Download the module, and uncompress it to the destination folder. You might want to do this manually.
$ curl -L "https://tfhub.dev/google/universal-sentence-encoder/2?tf-hub-format=compressed" | tar -zxvC /tmp/moduleA
# Test to make sure it works.
$ python
> import tensorflow_hub as hub
> hub.Module("/tmp/moduleA")

其他模型和示例参考:https://github.com/tensorflow/hub/tree/master/examples”

你可能感兴趣的:(工具)