Google Colaboratory (略称: Colab) はGoogleが提供する無料の計算環境です。 ウェブブラウザ上でコードを記述して実行できるインタラクティブな操作ができます。 さらにGPUやTPUを無料で利用できる素晴らしい計算環境です。 本記事ではColabを利用するための計算環境の構築手順を紹介します。 またハードウェアやエディタといった計算環境のカスタマイズの方法や、自分で作成したプログラム資産をColab上でも活用する方法も紹介します。

目次

Notebookを作成

Google Driveでフォルダを作成します。 以下の例ではja-language-modelというフォルダとします。 このフォルダへ移動して右クリックを押し、「その他」→「Googlee Colaboratory」をクリックします。

Notebookを作成 Notebookを作成

その他にGoogle Colaboratoryが出てこない場合、フォルダ名の右にある下三角のポチからドロップダウンで「アプリで開く」→「アプリを追加」からGoogle Colaboratoryをインストールします。

キーバインドをVimにする

普段エディターとしてVimを使っている方は以下の通り設定することで、Colab上でもVimで編集ができます。エディターがVimでなくてもよい方はこの章は飛ばしてください。

まず画面右上にある歯車の設定アイコンをクリックします。

設定アイコンをクリック 設定アイコンをクリック

Editorをクリックします。

Editorをクリック Editorをクリック

エディターにVimを設定します。

設定をカスタマイズ 設定をカスタマイズ

これでVimをエディターにすることができました。

GPUを使う設定にする

ハードウェアにGPUを利用したい方は以下の通り設定します。GPUを必要としない方はこの章は飛ばしてください。

EditタブのNotebook settingをクリックします。

Notebook settingをクリック Notebook settingをクリック

Hardware settingのGPUをクリックします。

Hardware acceleratorのGPUをクリック Hardware acceleratorのGPUをクリック

以下を実行して True が出力されれば設定ができています。

Trueが得られるか確認 Trueが得られるか確認

データセットのダウンロード

ノートブックのセルで先頭に ! をつけると、その行はLinuxコマンドとして実行されます。 wget コマンドを使えば、通常のLinuxマシンのようにデータをダウンロードできます。 この記事では jawiki8 を利用させていただきます。

!wget https://s3-ap-northeast-1.amazonaws.com/dev.tech-sketch.jp/chakki/public/ja.text8.zip

結果は以下の通りです。

--2020-03-11 05:47:33--  https://s3-ap-northeast-1.amazonaws.com/dev.tech-sketch.jp/chakki/public/ja.text8.zip
Resolving s3-ap-northeast-1.amazonaws.com (s3-ap-northeast-1.amazonaws.com)... 52.219.4.126
Connecting to s3-ap-northeast-1.amazonaws.com (s3-ap-northeast-1.amazonaws.com)|52.219.4.126|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 33905114 (32M) [application/zip]
Saving to: ‘ja.text8.zip’

ja.text8.zip        100%[===================>]  32.33M  15.4MB/s    in 2.1s    

2020-03-11 05:47:36 (15.4 MB/s) - ‘ja.text8.zip’ saved [33905114/33905114]

自作したPythonモジュールを読み込む

自作したモジュールをColabで利用する場合、Google Drive上にプログラムをアップロードする必要があります。 まずはノートブックからGoogle Driveのフォルダを参照できるように以下を実行してフォルダをマウントします。

Google Driveをマウント

from google.colab import drive
drive.mount('/content/drive')

<URL> にブラウザでアクセスし、出てきた認証コードを貼り付けて実行します。

Go to this URL in a browser: <URL>

Enter your authorization code:

これで drive/My Drive にGoogle Driveのフォルダがマウントされます。

PythonプログラムをGoogle Driveへアップロード

次に、自作のクラスを利用できるように、Pythonプログラムをアップロードします。 ここでは以下のようなクラスを実装した lm.py をアップロードします。

import torch


class LanguageModel(torch.nn.Module):
    def __init__(self):
        super().__init__()
        print("Create Language model")

この lm.py をja-language-modelフォルダにアップグレードします。

PythonプログラムをGoogle Driveへアップロード PythonプログラムをGoogle Driveへアップロード

アップロードしたPythonプログラムに含まれるモジュールをimport

自作クラスをノートブックから利用できるようにするために、 sys.path にパスを追加します。 問題なければ、自作クラスを作成することができます。

自作クラスをimport 自作クラスをimport

まとめ

本記事ではGoogleが提供しているクラウド上の計算資源を利用するための準備を紹介しました。ブラウザから簡単に計算環境を簡単に作成できることがわかります。 またGoogle Driveをマウントすれば、自分のプログラム資源を簡単に活用することもできました。


関連記事



最近の記事