Google Colaboratoryとは

Google Colaboratory(通称Colab)は、Googleによって深層学習や機械学習の研究・教育目的に無償提供されている。このサービスは、主要なブラウザで動作するJupter Notebook環境であり、GPUやTPUを使用することが出来る。そのため、インスタンスを借りる必要も組み立てる必要も無く使用が出来る。ただし以下のような2つのルールが存在する。

使用時のルール
1. 新しいインスタンスが立ち上がってから12時間が経つと自動的にインスタンスが落とされる
2. ブラウザが閉じたり、スリープ状態などに入ることでノートブックのセッションが切れると90後にインスタンスが落とされる

環境設定
ColaboratoryではTensor FlowやPytorch, Keras, Chainer等のライブラリが準備不要で使用可能である。しかし、こちらで準備する必要があるものがある場合には、最初にhttps://colab.research.google.com/からGoogle Colaboratoryを開き、Python3で新規のノートブックを作成する。そして、Anacondaの環境は以下のようにインストールする。

# Anaconda
!wget https://repo.anaconda.com/archive/Anaconda3-5.2.0-Linux-x86_64.sh && bash Anaconda3-5.2.0-Linux-x86_64.sh -bfp /usr/local
# Miniconda
!wget https://repo.continuum.io/miniconda/Miniconda3-4.5.4-Linux-x86_64.sh && bash Miniconda3-4.5.4-Linux-x86_64.sh -bfp /usr/local

次に、ライブラリ読み込み対象ディレクトリを追加する。

import sys
sys.path.append('/usr/local/lib/python3.6/site-packages')

Condaによって、デフォルトで用意されていないライブラリは以下のようにインストール出来る。ここではpytrajとopenmmの例を示す。

!conda install -c omnia -c conda-forge openmm
!conda install -c ambermd pytraj

また、Conda以外にpipを使って

!pip install ライブラリ名

のようにインストールを行うことも出来る。環境設定が整ったら、以下の手順でTensor FlowでGPU(またはTPU)を設定する。

Tensor FlowでのGPUの設定手順
1. ランタイム→ランタイムのタイプを変更→ノートブックの設定
2. GPUを選択する
3. 以下のコードを実行し、GPUがアサインされていることを確認する

import tensorflow as tf
tf.test.gpu_device_name()

ここで「'/device:GPU:0'」が出力されていれば問題無くアサインされている。この環境でMINIST等のデータセットでトレーニングの速度を比較してみるとよいだろう。


参考文献
https://colab.research.google.com/
https://rjai.me/posts/google-colab-conda/