2019年4月8日月曜日

SonyのNeural Network Libraries(NNabla)でGPUを使ってみる


 マウスの進捗は何も出ていないのに、パーツ代で貯金が吹き飛んで行っている中の人です。今回はNNablaでGPUを使う話です。

 前回まででCPU上での学習及び推論ができるようになりました。ですが学習などは結構時間がかかることが多いですよね(18コア36スレとかでやればまた違うのかもしれませんが)。そこで、どこのご家庭にも転がっているであろうNvidiaのGPUをNNablaで使い、高速化してみようというのが今回の主題。

 NNablaでGPUを使う場合、CUDA及びcuDNNのインストールが必要になります。ここで注意したいのがCUDA及びcuDNNのバージョンで、ここを確認しておきましょう。

 次にNNablaからCUDA/cuDNNを利用するためのライブラリのインストールですが、

pip install nnabla-ext-cudaxx

で終了(cudaxxはCUDA/cuDNNのバージョンで変わる。ここを参照)。

 最後にコードの変更については(コードは前々回を参照)、ライブラリの追加とデフォルトの環境を設定するコードのみになります。ライブラリは

環境設定は

となります。一応これだけで動くはずです...。

参考:20171212 Sony Neural Network Libraries and Console for GTC Japan 2017

p.s.
突然GPUが読めなくなる(カーネルモジュールのロードがうまくいかなくなる)ことがあったんですが、どうやらセキュアブートが有効になっている環境ではロードさせないようになっているようです(回避すればいいのですが)。

©2018 shts All Right Reserved.