景略集智
首发于景略集智
手把手教你在Google Colab里把谷歌TPU用起来

手把手教你在Google Colab里把谷歌TPU用起来

在 2016 年 Google I/O 大会上,谷歌推出了第一代 TPU,即张量处理器。TPU 是一款为机器学习而定制的芯片,经过了专门深度机器学习方面的训练,它有更高效能(每瓦计算能力)。

DeepMind 的 AlphaGo 训练就使用了 TPU。如今 TPU 已经更新到第三代。


由于各种原因,Google Colab 上并没有对 TPU 的支持,不过机器学习专家 Viacheslav Kovalevskyi 最近发文分享了如何在 Colab 里用 TPU 的经验。一起看看:


虽然 Google Colab 没有支持 TPU,但我们仍然可以通过使用 Google Compute Engine DeepLearning 图像来解决这个问题。这是能够做到的,因为最近我们也分享过,图片可以用作 Google Colab 的后端。所以根据这个功能,我们只需几步就能通过 Google Colab 使用 TPU:


  • 先以 GCE DeepLearning 图像启动一个 CPU 实例
  • 将 VM 和 Colab 相连
  • 创建 TPU
  • 嚯嚯嚯,成了!


启动 CPU 实例


为了能使用最新图片,可以运行如下命令:


export PROJECT_NAME="" # 放入你的项目名
export INSTANCE_NAME="" # 放入你的实例名
# 选择有TPU支持的地区:
# https://cloud.google.com/tpu/docs/regions
export ZONE="us-central1-b" 

gcloud compute instances create $INSTANCE_NAME \
  --project=$PROJECT_NAME \
  --zone=$ZONE \
  --machine-type=n1-standard-2 \
  --subnet=default \
  --image-family=tf-latest-cpu \
  --image-project=deeplearning-platform-release \
  --boot-disk-size=30GB \
  --boot-disk-type=pd-ssd \
  --scopes=cloud-platform


要始终记得你需要将作用域设为“cloud-platform”,不然实例之间无法会话。


如果你想使用我用过的图片,可以运行如下命令:


export PROJECT_NAME="" # 放入你的项目名
export INSTANCE_NAME="" # 放入你的实例名
# 选择有TPU支持的地区:
# https://cloud.google.com/tpu/docs/regions
export ZONE="us-central1-b" 

gcloud compute instances create $INSTANCE_NAME \
  --project=$PROJECT_NAME \
  --zone=$ZONE \
  --machine-type=n1-standard-2 \
  --subnet=default \
  --image-family=tf-latest-cpu \
  --image-project=deeplearning-platform-release \
  --boot-disk-size=30GB \
  --boot-disk-type=pd-ssd \
  --scopes=cloud-platform


该图片的 TF 为 1.9,正是我当前撰写本文所用的图片。


将 VM 和 Colab 相连

用端口映射通过 SSH 连接到实例(gssh 命令来自这里):

gssh --zone $ZONE $INSTANCE_NAME -- -L 8080:localhost:8080


在本地服务器 :8080 处打开浏览器


打开 Colab,创建新的 notebook:

colab.research.google.com


将其连接到本地服务器,点击“Connected”旁边的下拉菜单。

点击“Connect to local runtime…”

点击“connect”



完成了:)


创建TPU

现在我们要在 TPU 页面上打开谷歌云控制台:



如果是第一次使用,你可能需要启用 API:



从这里,可以点击“Create TPU Node”:



现在,你需要:

  • 填上名字
  • 设置地区(应该和实例地区一致
  • 设置 IP 范围
  • 点击“create”



这里需要等一会儿,等它从如下状态:



变成这样:



当你获得一个 IP 地址(10.0.101.1)后,就可以回到你创建的 notebook,开始用它了!


从 Colab 使用你的 TPU

创建一个代码块,运行如下内容:

import tensorflow as tf

TPU_WORKER = '10.0.101.2:8470' # put your IP!
session = tf.Session('grpc://' + TPU_WORKER,
                     config=tf.ConfigProto(isolate_session_state=True))


完成了!现在我们在 Colab 上就获得了一个能工作的 TPU 会话:



或许还对你有用:

景略集智:再薅谷歌羊毛:用谷歌GPU免费训练你的机器学习模型zhuanlan.zhihu.com图标


参考资料:
blog.kovalevskyi.com/ho

深度学习所需的基础理论 - 集智课堂jizhi.im图标

编辑于 2018-10-16

文章被以下专栏收录