はじめに
Chainerを使って、ディープラーニングを趣味で試しているのですが、
使っているGPU(GTX970、4GB)のメモリが少ないため、GTX1070(8GB)に交換してみました。
環境
OS:Windows 7 Professional
CPU:Core i5-6600
交換前GPU:GeForce GTX 970 JetStream(Palit Microsystems)
交換後GPU:GeForce GTX 1070 AMP Edition ZT-P10700C-10P(ZOTAC) 約54,000円(7/24現在)
交換前に
- NVIDIAの名前がついているソフトをすべてアンインストール
交換
- 補助電源(6pin×2)をはずす
- ねじをはずす
- ロックをはずして、スロットからGTX970を引き抜く
- スロットにGTX1070をさす
- ねじをとめる
- 補助電源(8pin×2)を付ける
(6pinと6pin線の横にあった2pinを使って、8pinに接続した)
交換後
-
NVIDIAドライバ ダウンロード・インストール
-
CUDA Toolkit 8 RC ダウンロード・インストール
-
cuDNN v5 (May 27, 2016), for CUDA 8.0 RC ダウンロード・コピー
(Nvidiaに登録、ログインが必要) -
Chainerを一度アンインストール
pip uninstall chainer
- Chainerを再インストール(キャッシュが残っているため --no-cache-dir -vvvv が必要)
pip install chainer --no-cache-dir -vvvv
速度結果
Chainerのサンプルのmnistの実行時間を比較
(6万枚トレーニング、1万枚テスト、バッチサイズ100枚、20エポック)
- GPU計算 交換前 GTX970: 89秒
- GPU計算 交換後 GTX1070: 84秒
- CPU計算(交換後): 1050秒
この条件では交換の効果は小さかったのですが、
おそらくフルでGPUを使っていないことが要因のようです。
バッチサイズを10000枚にすると、交換後 GTX1070で8秒でした。