fast.ai で deep learning を勉強しよう(6)Colaboratory
メモリーを多く積んだGPUボードを持っていない時にはクラウドで勉強した方が現実的です。 Google の無料 Jupyter 環境である Colaboratory で fastai を実行する方法です。
- Accessing Colab
- Configuring your notebook instance
- Saving your notebook
- Saving your data files
- Colabo と Windows との違い
クラウド環境でfast.ai を実行する方法がここに書かれています。
この中で 無償で一番簡単に使えそうな Google Colaboratory を使う事にします。 Colabo では、何もすることなく Jupyter が開きます。
Accessing Colab
まず 最初に Google の アカウントが必要です。 アカウントが無い時には、まず作成しましょう。
Google アカウントの作成 - Google アカウント ヘルプ
次に Google Chrome で Google にログインした状態で Colaboratry のページを開きます。
ダイアログが開いたら、fast.ai の notebook をGitHub からダウンロードして開くので、「GITHUB」をクリックして fastai/cource-v3 と入力して検索(右の虫眼鏡をクリック)します。
表示された notebook から実行したいものを選択してクリックすると notebook が開きます。
ランタイムタイプを選択して、GPUを使用するように変更します。
Configuring your notebook instance
この段階では fastai のライブラリーはまだインストールされていない為、次のコマンドを notebook の先頭に追加して、実行時に fastai 環境ができるようにします。
!curl -s https://course.fast.ai/setup/colab | bash
実行すると、「GitHubから読まれたファイルだから自己責任で実行してね」と Warning が出ますが、無視して実行します。
Saving your notebook
GitHub から開いた Notebook は元の場所に保存ができないので、Google Drive にコピーを保存します。
次回からは、一番初めのダイアログで「GOOGLE ドライブ」から保存したファイルを読み込みます。
Saving your data files
データファイルもGOOGLE ドライブに保存して使うようにしないと、毎回準備しないといけなくなるので、notebook から GOOGLE ドライブにアクセスするための準備をします。 次のコードを notebook の先頭に追加して、GOOGLE ドライブをマウントするようにします。
from google.colab import drive drive.mount('/content/gdrive', force_remount=True) root_dir = "/content/gdrive/My Drive/" base_dir = root_dir + 'fastai-v3/'
これを実行すると、
の様に表示されるので、クリックするとアカウントの選択とドライブへの接続の許可が求められ、「許可」します。 すると、authorization code が表示されるので、コピー(右側のボタンクリック)して notebook に貼り付けてENTERします。
これで base_dir を使う事で、GOOGLE ドライブ My Drive の下に fastai-v3 フォルダーを作ってアクセスする事ができるようになります。 例えば、lesson2-download.ipynb の場合、5行目に次のようにbase_dirを追加します。
path = Path(base_dir + 'data/bears') dest = path/folder dest.mkdir(parents=True, exist_ok=True)
lesson1-pets.ipynb の場合は untar_data でデータをダウンロードして解凍展開する時に GOOGLE ドライブを使用するには次の様にします。
path = untar_data(URLs.PETS, dest = base_dir); path
ドライブの内容を見る時には、GOOGLE にサインインした時に右上に表示される Googleアプリ からドライブをクリックして開くことができます。
Colabo と Windows との違い
Colabo は Windows ではなく Linux環境で動きます。
ですので、Linuxのコマンドについても多少勉強が必要です。Colabo は Jupyter がいきなり動くので、 Terminal を開いての作業ができません。
notebook のセルに !付きのコマンドを打ち込んで作業します。
例えば、ファイルの列挙は
!ls -a
となります。Python 環境は初めからある程度入っていますが、必要なものは jupyter からインストールして利用します。
その場合、conda ではなく pip を使用します。
リスト表示: !pip list
インストール: !pip install ******Colabo は何もしないと90分で接続が切れます。
90分以内に再読み込み等を行う必要があります。Chrome の拡張機能に Auto Refresh という物もあるので、そういう物を利用しても良いでしょう。12時間で接続が切れます。
長く計算がかかる時には、途中経過を GOOGLE ドライブに保存して、再接続後読み出して継続を行う必要があります。