Macbookでpytorchのチュートリアルを参考にして、転移学習による画像の2クラス学習をおこなったところ、学習時間が1時間を超え、CPUの発熱もハンパなかったので、このままやり続けるとMacこわれるのでは、と怖くなりました。Google ColabでGPU使えると知り、実行したところいくつかつまずいたので、その対応など投稿します。
<参考にしたページ>
・pytorchチュートリアル
・【秒速で無料GPUを使う】TensorfFow/Keras/PyTorch/Chainer環境構築 on Colaboratory
##pytorchインストール
pytorchをimportすると「このコードでpytorchをインストールしろ」と親切に教えてくれます。
##Google Driveのマウント
以下のコードでマウントします。
実行すると、「このURLでauthorization codeを取得しろ」と言われます。Googleアカウントを持っていれば、アカウントを選択するだけであっさりcodeを取得できます。
# google driveのマウント
from google.colab import drive
drive.mount('/content/gdrive')
##画像処理ライブラリのインストール
よくわからないのですが、おそらくdataloadersからbatchを取り出すときにエラーがおこるようで、以下追加インストールしました。Pillowは最新版だとうまくいかず、4.0.0指定でうまくいきました。
# google colabで追加インストール
!pip install Pillow==4.0.0
!pip install image
##画像保存ディレクトリの指定
「Data augmentation and normalization for training」のセルの画像保存ディレクトリを指定します。
data_dir = '/content/gdrive/My Drive/画像を保存しているフォルダ名'
##その他
・インストールおよびドライブのマウントは、ランタイムが切れると消えるので、毎回実行します。
・Google Driveのゴミ箱に同名のファイルがあるとエラーになるようなので、ゴミ箱は常にカラにしてます。
毎回のインストールや、ちょくちょくランタイムが切れるなどありますが、CPUでは困難な学習ができるのでぜいたくはいえません。
MacBookで1時間以上かかった画像100枚程度の学習が数分で終わりました。画像を2000枚ほどに水増しすると、Google Colabでも1時間弱かかりましたので、Macだったらむりだったなあと思いました。