私の業務範囲上の理由と、元々AWS派な事もあってGoogle Colabo環境は使っていなかったのですが、業務で使う状況になったのでメモしておきます。

尚、執筆時点のGoogle ColaboratoryのOSは Ubuntu 18.04.3 LTS が使われているようです。よって後述するコードで触れていますが、シェル経由のコマンドはLinuxコマンドを叩くことを覚えておきましょう。

Jupiterの立ち上げ方

1:Googleドライブにアクセスし適当な名前でフォルダを作成する(例:google colaboratory)
https://drive.google.com/drive/my-driv

2:「1」のフォルダを選択後「アプリで開く」 >> 「アプリを追加」を選択後、google colaboratory等を検索してアプリを追加(連携)

するとJupiterが立ち上がるので任意の名前を付けてファイルを保存。これが.ipynb形式のファイルになり、先ほど作成したGoogleドライブフォルダに格納される。

ライブラリの確認

基本的にanaconda等と同じく、初期状態で全部入り・・・となっているサービスですがpipコマンドで確認を行います。シェル経由のコマンドは先頭に!をつけましょう。

結果、380個ほどインストールされていました↓↓

ライブラリの追加インストール

普通にpipすればインストール可能です。コレスポンデンス分析を行う為のmcaライブラリをインストールしてみます。

アップグレードや指定バージョンへの切り替えも通常のpipコマンドと同じです。

ライブラリをインストール後はランライムを再起動します。

matplotlibの日本化

ローカル環境ではフォントを指定箇所に配置後、システムファイルを書き換えれば良いのですが、 Google Colaboratory上でも同じイメージで作業で対応できます。

すでに日本語対応しているjapanize-matplotlibを使う手もありますが、実行プログラムによってエラーが出た記憶があるので(私だけかも・・・)・・・・なるべく純正品を使用する派な方は以下を実行すると良いでしょう。

その後、上部メニュー >> ランタイム >> 再起動して全てのセルを実行を行えば、無事日本語表示がされているはずです。

フォント設定は完了しているものの、このままでは任意のフォントを読みに行ってくれないので、以下の様に fontfamilyを宣言しておく。

ファイルの読み込み(Googleドライブ上のファイルを読みこむ)

宣言

まず、header付近にGoogleドライブを使う宣言を行う。

これを実行するとOAuth認証が走り、URLが表れるのでクリック(遷移先はGoogleのログイン画面)、画面の指示に従いアクセスを許可する。

するとauthorization code(AWSで言う一時的なシークレットキーのようなもの)が発行されるのでコピー、Google Colabに戻り「Enter your authorization code:」と書かれた部分に入力。

これでGoogleドライブがマウントされる。

読み込み

マウントが完了したら読み込みテストを行う。pandasで読み込むことが多いと思われる為、pandasでの操作を以下に記載する。

Google Colab上でもpandasが利用でき、構文も同じであるが、問題なのはGoogleドライブのパスである。

結論から言うと以下の様にすればよい。

※ /content/drive/My Drive/ が固定パスとなるのでその後のpathを変えればよい。尚、Googleドライブで該当ファイルを選択してもS3の様にファイルまでのパスは表示してくれないようだ(地味に不便である・・)

表示してみましょう。

[GCP]Google ColaboratoryでPythonを実行するための準備

無事に読み込まれていますね!

大容量データの場合はGoogleドライブのに上げるのに以上な時間が掛かるため、予めSQL等で横持ちのデータにしたものを、ZIP化してアップロード、クラウド側で解凍してあげると良いみたい。

GPUの使用

上部メニュー >> ランタイムのタイプの変更から

・None
・GPU
・TPU

の3つが選択できる。TPUはまだ試していませんがGoogle独自のものらしいです。

画像解析や複雑なモデルを使用する際は、演算処理が得意なGPUを使用すると良いでしょう。

価格

時間制限がありますが、無料枠がありどなたでも利用できます。
Pro版でも9.99ドルという破格の安さです。

参考にしたサイト

Google ドライブをローカルにマウントする|colab.research.google.com

感想

あまり触れられてないのですが(当たり前だからかも)グーグルドライブに.ipyndが保存されるので、バージョン管理が自動的に行われており、万が一破損した場合は過去バージョンに戻れたりします。

subversionやローカル側で_yyyymmddみたいな感じで原始的にバックアップを取る必要がないので、実は嬉しいポイントでした。

これから使い込んでいく予定なので、また記事にしたいと思います。

よいcolabライフを!