AIの片隅で(8) Chainer Tutorial Book

JosephHalfmoon

マイコン関係のWeb上開発ツール、例えばArm Mbed Compilerなどをこのところ触っている時間が長いのですが、AI関係に目を転ずれば、それどころではありませんでした。凄い事になってました。勉強不足にて、Googleの ColaboratoryというWebサービス、使ったことなかったんであります。今回、ChainerのWeb上のチュートリアルに素晴らしいものがあると聞き、触ってみればGoogle Colaboratoryの上に構築されたチュートリアル用の「ノートブック」でした。貧しくてGPUも買えない私でもお試し可能な素晴らしい環境です。何といっても無料が嬉しい。

まずは、Chainer Tutorial BookのURLと、Google ColaboratoryのURLを貼り付けておきます。

なお、Goolge Coraboratoryではない普通のChainerのチュートリアルもありました。それはこちら

概念的にいうと、一つの「ノートブック」は複数の「セル」からなり、「セル」には実行可能なコードとその実行結果、ワープロ的な文章などを含むことができます。ここまでであると、例えば Matlabなどを使ったことのある方であれば、そういう型式のファイルもサポートされていたよな~と想起されるかもしれません。他にも(今回ちょっと使ってしまいましたが)数式処理ソフトのMaximaなどもそういう型式の「文書」を使うことができます。コード(数式)とその説明を混然一体、実行可能のまままとめられるので結構いろいろなソフトウエアで最近よくお目にかかるスタイルじゃないかと想像します(源流を発明した人がいる筈ですが、私は知りません)。その中で、Google Colaboratoryというのは、Python用のJupiter「ノートブック」を出発点にしているようです。しかし、素晴らしいのが、

クラウド上のノートブック実行環境が提供されている

ということです。ブラウザ(Chrome)からノートブックを開けば、その裏側にPythonのコードだけでなく通常のLinuxのコマンドなども実行可能な環境が動いているのであります。さらに言えば、

インスタンスはGPUつき、TPUもあるでよ

状態。お金だしてサーバー機を借りなくても使える。めちゃめちゃ太っ腹です。しかし、無料だし制限もいろいろ。

  • 実行環境のインスタンスは12時間で消える
  • ガンガン連続してGPUなど使用できない(勝手に止まる?)らしい

本気で「学習」させるとかリソースを使う作業は出来ないけれど、ちょこっとお試しする程度ならできる、というところでしょうか。

「ノートブック」というだけに、コードでも説明でも、いろいろ書き込むこともできます。しかし、そのままでは、明日になれば消えている。しかし、適切に設定すれば、

  • ノートブックはグーグルドライブに保存可能(当然ローカルディスクにも)
  • グーグルドライブをマウントしてファイルの入出力に使える

ので、かなりなことが可能じゃないかと思います。

このGoogleのインフラ上に、Chainerのチュートリアル「ノートブック」が構築されているわけです。今回は、Chainerのチュートリアルで勉強させてもらいながら、Google Colaboratory にも慣れよう、という考えです。

まずは、グーグルドライブにノートブックを保存

ノートブックを開くと左肩の部分は上のようなメニューになっています。一番上の行の右にフロッピイみたいなアイコンが袈裟懸けに消されていて、この状態は、ノートがインスタンスと一蓮托生で消えてしまう状態を表しているようです。下に見える「ドライブにコピー」を押せば、自分用ローカルなノートブックのコピーを使えるようになるので、書き込んだ内容が保存(ファイルメニューから保存できる)できるようになります。

コピーが開きました。Google Drive側から見ると以下のように、マイドライブの下にColab Notebooksというフォルダが掘られ、そこにノートブックが保存されていました。

これをGoogle Drive側からダブルクリックで起動すると以下のようなメニューがでたので、Colaboratoryで開くをクリックすれば、ノートブックとして開くことができました。

実行環境との接続については、開いたノートブックの右上にボタンがあります。

実行環境に接続されていると、左のようにチェックマークの横に使用RAM容量とかディスク容量とかが表示されます。使ってみた感じだと、何か操作をするとホスト上の実行環境に接続してくれるので、わざわざメニューから接続の必要は無さそうです。心強い以下のようなメッセージが出ます。

Pythonは2系でも3系でもエンジンがあるようですが、Python2はあと半年でサポート無くなるので、3ですね。(私も鋭意移行作業中です。)

さらにグーグルドライブをディスクとしてマウント

左上のタブから、「ファイル」を選ぶと、「ファイル・ブラウザ」的なツリーが現れるのですが、その上部に「ドライブをマウント」ボタンがありました。これを押すと、右側のPythonコードを実行(右向き三角ボタンを押す)するように促されます。まさにノートブックの裏側で動いているPython実行環境で「実行」するわけです。すると、以下のような「実行途中の結果」(まだマウントは完了していない)が表示されます。

右上のURLは、グーグルドライブへのauthorization codeを得るための認証画面を呼び出すためのものです。そこへ行き、必要なアカウント情報でアクセスを許可すれば、autorization codeが表示されます

コードのよこにコピーボタン

があるのでこれを押すとautorhization codeがコピーできます。それを上の画面のEnter your authorization codeにペーストしてリターン。これで自分のグーグルドライブをマウントできました。マウントすると、

content/drive/My Driveにグーグルドライブがマウントされています。Pythonコードからそこにファイルを書きだせることを確認しました。

なお、このファイルブラウザからは普通にLinuxのファイルシステムが見えていて、これが実行環境である仮想マシンから見える環境なんだと思います。今日のところは、最初のドライブ関係のところまで、その後の「演習」はまた、明日?(明後日?)

AIの片隅で(7) Google Home Mini 来た! に戻る

AIの片隅で(9) 続Chainer Tutorial Book へ進む