LoginSignup
0
1

More than 3 years have passed since last update.

Google Colaboratory で TPU 実行してみる

Last updated at Posted at 2020-02-10

TL;DR

ローカルで作成したTensorflow.kerasで CNN を実装し、
Google Colaboratory でモデル作成したら、自分のPCで実行するよりも早くできた
忘れないようにするためのメモがてら情報を残します

はじめに

Deep Learning したいデータ と tensorflow.kerasを利用したpython ファイルを
Google Drive に置いて、Google Colaboratory で、TPU を利用して、 model(VGG8) を作成しました。

Google Colaboratory で TPU を使うときのコード

TPUを使うときのおまじない。

vgg8.py
tpu_grpc_url = "grpc://"+os.environ["COLAB_TPU_ADDR"]
tpu_cluster_resolver = tf.contrib.cluster_resolver.TPUClusterResolver(
            tpu_grpc_url)
tf.contrib.distribute.initialize_tpu_system(tpu_cluster_resolver)
strategy = tf.contrib.distribute.TPUStrategy(
            tpu_cluster_resolver, steps_per_run=100)

with strategy.scope():
    model = モデル作成
    model.compile(xxx)
    model.fit(xxx)
    result = model.evaluate(xxx)

注意点
strategy.scope() の中で model を作成すること

実際に作成したコードは 最後のリンク に置いています。

Google Drive へデータを保存する

1. ブラウザ上で、Googleアカウントでログイン後、以下の画像の順番でアクセスすると、Google Drive のページへ飛ぶ
スクリーンショット 2020-02-11 0.40.37.png
2. pythonを実行したい階層に、Deep Learning したいデータ、および、コードをドラッグ&ドロップして、ファイルをコピーする(今回コピーしたのは、カッコで括った部分)
スクリーンショット 2020-02-11 0.49.37.png

Google Colaboratory で TPU を有効にする

  1. Google にて、"Google Colaboratory" で検索すると、上位に検索結果が出てくる。"Colaboratory - Google"を選択する スクリーンショット 2020-02-11 0.53.38.png
  2. ポップアップが表示されるので、右下の"PYTHON 3 の新しいノートブック" を選択する スクリーンショット 2020-02-11 0.55.38.png
  3. 新しいノートブックが表示されるので、上部のタブ"ランタイム" -> "ランタイムのタイプを変更"を選択する スクリーンショット 2020-02-11 0.56.17.png
  4. ポップアップが表示されるので、ハードウェアアクセラレータの項目を "None" から "TPU" へ変更し、保存を選択する スクリーンショット 2020-02-11 0.56.43.png

Google Colaboratory で CNN を実行

  1. Google Colaboratory で Google Drive をマウントするために、左上の"メニューアイコン" -> "フォルダアイコン" -> "ドライブをマウント"を選択すると、右側にコマンドが出てくるので、"再生アイコン"を選択。選択後、リンクが表示されるので、そこから、Google Driveの利用許可画面が出てくるので、認証を実施し、認証コードを取得し、"Enter your authorization code"にペーストする スクリーンショット 2020-02-11 1.10.00.png
  2. "cd /content/drive/My\ Drive/" で実行ファイルが置いてあるディレクトリまで移動する スクリーンショット 2020-02-11 1.13.42.png
  3. "!python xxx.py" と入力後、"再生アイコン" を選択することで python を実行する

注意
Google Colaboratory では RAM 12.72GB 利用できるようだが、
Deep larning 実施時に、上記 RAM をオーバーすると、処理が停止する。
そのため、画像サイズやCNNのモデルのパラメータサイズについては細心の注意が必要です。

CNN の model を Google Drive から取得

  1. 上記実行時に、Outputディレクトリにmodel を保存しているのであれば、Google Drive からドラッグ&ドロップで取得可能。作成したコードでは、以下の2つのファイルを作成する。 スクリーンショット 2020-02-11 1.24.15.png

さいごに

CNN を手軽に実装できる Google Drive と Google Colaboratory の組み合わせはPCでdeep larningを行うよりも高速に実施できるのでおすすめです。
ただし、画像サイズが大きかったり、モデルが大きすぎるとpythonが途中で止まるため、そのときにはPCやクラウドサービスの利用に置き換える必要です。
今回の作成したコードでは、256x256の画像で、全部で2700枚の教師データであれば、問題なく動作しました。

ぜひ、tensorflow.keras を実装試してみたい人は是非実施ください。

参考URL

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1