世間で評判がいいfastaiを夏休みに学習することにしました。
fastaiはこんな感じのコースで、既存のコースと違い、実用的な観点からトップダウンで知識を得ることができるようになっているみたいです。
Deep Learning for Coders with fastai and PyTorch: AI Applications Without a PhD - the book and the course
「PhDなくてもworld-classのmodelを作ることは可能だよ!」
「ResNet作った人も当時は大学生だったし!」
「イーロンマスクも実務経験ある人ならPhDなしでもOKらしいよ」的なモチベーションを高めてくれるイントロからコースはスタートします。
選択肢があると選べない
fast.aiは環境構築やノートとかに色々な選択肢がありますが、選択肢があると人はなかなか選べないものですね。。。ノートブックもGitHubに色々なバージョンのリポジトリがあるので、多少ややこしかったです。
いや俺はローカルでできるけど?とか変な意地を張らずに、Colabで幸先の良いスタートを切ってみましょう。
実行環境の整備 - ノートを見つける
- Google Colabを開く
- File -> Open Notebookを選択
- ソースとしてGitHubを選択
- fastaiのリポジトリの中からfastai/fastbookを選択
注意:他にも過去のバージョンなど似たようなリポジトリがありますが、実質fastai/fastbookが全部入りのマシマシ野菜ですので惑わされないでください。
ノートを開く
基本的に参照する資料
トップディレクトリにあるノートブックが基本的に参照するものです。動画を見ながら、適宜参照することをお勧めします。
Stripped Versionとは?
clean/にあるノートはstripped versionと呼ばれていて、コードブロック以外はほとんど削除されています。これは課題で参照することものちにありますので、覚えておいてください。復習用に有効です。
実行環境の整備 - GPUを有効にする
- Edit -> Notebook Settingsを選択
- Hardware acceleratorをGPUにする
はい、これで最速でfast.aiの学習の準備が整います。
なぜColabを使う?
Notebook環境はなんでもいいとは言いますが、
- GPUが無料で使える
- セットアップが簡単(GitHubから読み込める)
ということからColabを使いました。GPUないとLesson 1のサンプルコードの学習がゴンゴンに遅いです。なお、ColabのTPUでも試してみましたが、TPUはfastaiにはチューニングされていないのか、CPUと同程度に遅かったです。(fastaiはTPU対応のPyTorchを使ってるのになんでだろ・・・?)
これを自分で環境構築すると、以下のようにクレイジーな作業が発生します。やったことある方はわかると思いますが、かなり面倒です。
- GPU入りのマシンを拾ってくる
- CUDA関係のインストール
- Jupyter labとかのインストール
- PyTorch, fastaiなどのインストール
- [Optional] 今までの作業を全てDockerにぶち込む
- [Optional]DockerならDocker compatible packageとか設定をゴン攻めにする
はい、というわけで、Google Colabを使って巨人の肩に乗りましょう。
日本語のfastaiの情報があまり見つからなかったので、これからいくつかQiitaに書いていきます。
ここまで読んでいただきありがとうございました!