機械と学習する

統計解析、機械学習について学習したことをまとめていきます

【勉強会、セミナーにおすすめ】Google Colaboratoryの利用方法

【概要】

  • hands-onセミナーなどを主催する際に、環境構築で手間取ることありますよね?
  • そんな時はGoogle Colaboratoryを利用するのがとても楽だと思うよって話です。

【目次】

はじめに

機械学習向けの環境構築って結構大変じゃないですか? 各種のライブラリやミドルウェアのバージョン不整合があったり、 そもそもインストールできないなんて事態にもよく遭遇します*1

これが自分の環境だけなら、Dockerを利用するなど効率化する方法もありますが、 hands-onセミナーなどを開催する際には問題が途端に難しくなります。 他人の環境、特にhands-onセミナーなどは初学者の方向けに開催する場合も少なくありません。

こんな時は、「Google Colaboratory」を使いましょう。

すでにGoogle Colabの紹介記事は山ほどありますが、本記事は筆者のメモを主な目的とした記事です。

【トップに戻る】

前提条件

本記事は以下のような方向けに書いています(というか私のためのメモとして書いています)

  • セミナーなどのために一時的なPythonの動作環境を用意したい(動作環境を作ることが目的ではない)
  • 長時間(数日とか)かかる計算はしない
  • 一時的な利用だ

がっつりと計算したい場合には、自前でサーバを用意するかGCPAWSを使いましょう。 Google Colabはその目的が「機械学習の教育、研究を目的とした研究用ツールです。」とあります*2。 なので、目的にあった使い方をしましょう。

【トップに戻る】

Google Colaboratory

colab.research.google.com

Google Colabとは、上記のリンクからアクセスすると、

完全にクラウドで実行される Jupyter ノートブック環境です。設定不要で、無料でご利用になれます。

とあります。

Google Colabでできること

  1. Pythonの実行環境
    • 設定など不要ですぐにjupyter notebookが利用できます
    • 基本的なライブラリはすでにインストール済みです
    • 必要なライブラリはpipでインストールすることもできます
  2. Github連携
    • Githubにあるnotebookをそのまま開けます
    • Github Gistとして保存することもできるみたいです(試してはいない)
  3. GPUが使える
    • 無料で使えます

Google Colabでできないこと

  1. 長時間の計算はできない
    • 最長12時間でnotebookを動かす仮想環境が落ちるみたいです
  2. RなどのPython以外のカーネルは「まだ」使えない
    • FAQを読むと今準備中のようです

【トップに戻る】

使ってみる

ということで使ってみましょう。

準備

Google ColabはGoogleドライブのアプリとして動作します。 そのため、Googleアカウントが必要です。 もしもまだ持っていないという方がいらっしゃったら、こちらから作りましょう。

次に、GoogleドライブにColaboratoryアプリを追加します。

Googleドライブ左上の「新規」メニューから、「その他」→「アプリを追加」を選択します。

f:id:hippy-hikky:20190530222123p:plain
図1. アプリの追加メニュー.

アプリの検索windowが現れますので、検索窓から「Colab」などと検索してアプリを探し、インストールします。

f:id:hippy-hikky:20190530222356p:plain
図2. アプリの検索とインストール.筆者の環境ではすでにインストール済みのため,インストールボタンが表示されていないが,未インストールであればインストールボタンが出てくる.

これで準備が完了です。

notebookの作成

正常にアプリがインストールされていれば、 図1のアプリの追加メニューに「Colabolatory」というメニューが追加されているはずです。

ここをクリックすることで、notebookが即座に作成され、 このまま使うことができます。

f:id:hippy-hikky:20190530222910p:plain
図3.Google Colabの起動.

notebookファイルは、Googleドライブの通常のファイルと同じ扱いなので、移動したり、名前を変更したり、また、共有することもできます。

GPUの利用

デフォルトではCPUモードですが、GPUも利用できます。

Jupyter画面の「編集」メニューから「ノートブックの設定」を開きます。 すると、以下の設定windowが現れるので、「ハードウェアアクセラレータ」をGPUに設定し保存します。

f:id:hippy-hikky:20190530223518p:plain
図4.ノートブックの設定.ここからGPUの利用を設定する.

インストール済みライブラリとライブラリのインストール

Google Colabで提供される仮想環境には基本的なライブラリは概ねインストール済みの状態になっています。 確認するには、notebookのセルからシステムコマンドを叩けば良いです。

!pip freeze

2019年5月30日現在では、よく使われると思われるライブラリはインストールされていると思います。 例えば、tensorflowやPillowなどは当然入っていますし、chainerも入っています。 数ヶ月前はなかったPymc3も入っていることが確認できました。

また、他のライブラリが必要な場合は、システムコマンドを使ってインストールすることもできます。

!pip install pymc3

Githubからnotebookをコピー

勉強会などでは、Githubにあるコードを使ってhands-onをすることはよくあると思います*3。 GoogleColabでは、Github上のnotebookファイルをわざわざローカルにcloneすることなく簡単に実行できます。

Jupyterの「ファイル」メニューから、「ノートブックを開く」メニューを選択します。 「GITHUB」タブがあるので、選択すると、リポジトリを検索するメニューが出てきます。 ユーザ名などを入力すると、リポジトリを検索することができます。 以下の図5のように、リポジトリやブランチをプルダウンメニューで選択すると、ipynbファイルがリストアップされます。

f:id:hippy-hikky:20190530225406p:plain
図5.notebookの検索メニュー.

実行結果を自分のGoogleドライブに保存したい場合には、「ファイル」メニューから「ドライブにコピーを保存」で保存することができます。

ファイルのアップロード

データファイルなどを使いたいことはよくあると思います。 Google Colabでは、ファイルを仮想環境上にアップロードして利用します。

まずは、以下のコマンドでファイルアップローダを作成し、ファイルをアップロードします。

from google.colab import files
uploaded = files.upload()

正常にアップロードされていれば、lsコマンドでファイルがあることが確認できます。 後は、通常のファイル操作でデータを読み込むなどして利用できます。

f:id:hippy-hikky:20190530231858p:plain
図6.ファイルアップロードの例.

【トップに戻る】

終わりに

ということで、Google Colabの利用準備から基本的な使い方を説明してきました。

一時的なPythonn動作環境としてGoogle Colabは最強の環境だと思います。 環境構築が好きな方、特殊な作業環境が必要な方以外の一時的な利用はこれを使うと幸せになれるんじゃないかなと思います。

【トップに戻る】

*1:挙句にはログインループするようになったりとか

*2:こちらを参照してください

*3:というか私がやるhands-onはそうしてます