4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

fastai 1.0をGoogle Colaboratoryで動かすためにしたこと

Last updated at Posted at 2018-10-07

ソフトウェア・エンジニア(プログラマー)にオススメの深層学習MOOCのfast.aiが講義の中で使用しているライブラリfastai正式に1.0になったので、Google Colaboratory(以下、Colab)で使ってみました。
その際、細かいところで少しつまづいたので、それをまとめてみました。

PyTorch 1.0のインストール

fastaiはPyTorchの上に作られています。
しかし、正式リリース前のPyTorch 1.0を使っているため、Nightlyビルドを使う必要があります。
ColabではCUDA 8.0しか入っていないようなので、そちらを指定しています(:arrow_down:cu80 の部分)。

!pip install torch_nightly -f https://download.pytorch.org/whl/nightly/cu80/torch_nightly.html

もし古いバージョンのPyTorchをインストール済みの場合

下記コマンドで削除しておきましょう。
:warning: また、このようにライブラリを削除して新しく入れ直す場合はランタイムを再起動させるのをお忘れなく:exclamation: 古いライブラリを読み込んだままになってしまいます。

!pip uninstall torch

fastaiのインストール

!pip install fastai

:warning: このとき、どのバージョンがインストールされるか、ご注意を!
まだ1.0になったばかりで、まだAPIが頻繁に変わっています。サブマイナーバージョンの更新(例:1.0.2 :arrow_right: 1.0.3)でも変わったりします。

workerの数

fastaiはデフォルトでCPUの数に応じて複数プロセスで走らせるようになっているのですが、どうもColabでは安定して動かないので、その機能を切った方が良さそうです。

ImageNet形式のフォルダ構造用の関数であるimage_data_from_folderの場合は以下のようにnum_workers0を指定するとメインプロセスのみで実行されるようになります。

data = image_data_from_folder(
    DATA_DIR, ds_tfms=get_transforms(), tfms=imagenet_norm, size=224,
    num_workers=0   # <== こちらで0を指定する
)

learner = ConvLearner(data, arch, metrics=accuracy)

当然ながら処理に時間がかかってしまいますが、無料で使っている範囲では仕方ないかと…。

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?