無償利用できるGoogleのGPUノートブック
ここでは、本書のサンプルコードをGoogle Colabで実行する方法を簡単に説明する。 ColabはGPUが無償で使えるNotebookサービスだ。 Colabのノートブックは通常のJupyterをベースにしているが、若干異なる点もある。 Colabのドキュメントを読んで動作を理解しておこう。
注意: Colabは無償サービスだが、いつも使えるとは限らないし、実行結果を保存するにはひと手間かかる。 Colabのウェブサイトを呼んでこのシステムの制約をよく理解しておこう。
書籍の各章のオープン
下記のリンクから書籍の各章のノートブックをColabでオープンすることができる。
別の方法もある。ColabのWelcomeページに行き、[Github]をクリックする。 「Enter a GitHub URL or search by organization or user」と聞かれたら、 「fastai/fastbook」と入力する。すると、このコースのノートブックが列挙されるので、 使いたいものを選択すればいい。
注意: 2章の節の1つではVoilaを利用している。Colabでは残念ながらVoilaは動作しない。 この節に関しては、スキップするか、Gradientなど他のプラットフォームを使ってほしい (Colab以外なら動作する)。
GPUの使用
何よりも先に、Colabに対して、GPUを使いたいと伝える必要がある。これには[Runtime]タブをクリックして、 [Change runtime type]を選択する。 するとポップアップウィンドウが開く。その中に次のようなドロップダウンメニューがあるはずだ。
このメニューからGPUを選択し、[Save]をクリックする。
ノートブックの設定
最初のセルには、fastaiやその他の必要なライブラリをセットアップするためのコードが書かれている。次のようなコードだ。
!pip install -Uqq fastbook
import fastbook
fastbook.setup_book()
このセルの左側にある三角形の実行ボタンをクリックしてこのセルを実行しよう。[Ctrl]-[Enter]でも実行できる。
最初のセルを実行すると、次のように「Warning: This notebook was not authored by Google」 という警告ウィンドウがポップアップすることがある。この場合は[RUN ANYWAY]を選択すればよい。
Google Driveの利用
ColabはノートブックをGoogle Driveにセーブする。このため、セルを実行するとGoogle Driveにログインするように求めてくる。これにはGoogleアカウントが必要になる。
ログインをしたら、次のセルを実行する。このセルでは、次のようにしてインストールしたばかりの必要なライブラリをすべてインポートする。
from fastbook import *
Google Driveへのパスは、gdrive
という変数名で与えられる。この変数はPath('/content/gdrive/My Drive')
を指している。
ファイルやモデルをセーブする際には、このパスの下のディレクトリを使う必要がある。
Githubからノートを開いた場合には、Google Driveにセーブする必要がある。 これには、[File]から[Save]すればよい。 次のようなポップアップが表示されるはずだ。
ここで、[SAVE A COPY IN DRIVE]をクリックする。
こうすると別のタブでGoogle Driveに置かれたノートブックが開く。
セーブしたあとも作業を続けるなら新しいタブで開かれた方を使おう。
ノートブックはデフォルトでは、Google DriveのColab Notebooks
フォルダにセーブされる。
より高度で効率的なColabの使い方については、 このブログ記事を参照してほしい。