NVIDIAのGPUを持っていないノートPCでchainerを使うお話

以前にUbuntu19.04をインストールしたノートPCでディープラーニングなどやってみようと思い立ったのでそのメモ。

ディープラーニングやるならGPUが当たり前になった昨今、GPU無しでできるんかい?と思ったりしたのですが、何とかなりそうなのでやってみることにした。

でも途中で諦めるかも。その時は普通にWebアプリ用の環境になるだけだな。(適当)

せっかくなのでUbuntuも出たばかりの19.10にバージョンアップしたのでそれもついでにメモ。

環境の類

chainerを扱うのに便利なライブラリ達

chainerのプログラムはPythonで記述するので、必然的にPhtyonの環境が充実していればそれだけ効率的なプログラミングができる。

最低限必要なライブラリは上の図の通り。ディープラーニングで特に大事なのは配列のライブラリ。

Numpyというライブラリがあると簡単に配列を扱える。

配列に関してはCupyというライブラリもあり、これはほぼNumpyと同じAPIを使用できるうえ、CUDAやcuDDNというライブラリを使ってNIVIDIAのGPUを使って高速に計算できる。

GPUがない場合はNumpy、ある場合はCupyという使い分ける。

HDFは同じ形式のテーブル(というかCSV)をツリーの末端に保存するファイル形式で、言葉で説明するのは難しいのであとで事例を見てもらったほうが早い。

ubuntuのバージョンアップ

Chainerと関係ないけどとりあえず。

alt + f2でコマンド入力画面を起動し、「update-manager -c -d」でソフトウェアを最新化する。

その後、もう一度同じ手順を実行するとUbuntuのバージョンが19.10に上がる。

pythonのインストール

pythonの環境構築ガイドによるとUbuntu19.10に最初から入っているPythonはOSの環境を管理するために古いPython2を採用している。

Python2は2020/1にサポートが切れるためPython3にバージョンアップしたい... だがそれをやってしまうとOSの管理系のツールが動かなくなる。

というわけでソースコードをダウンロードしてコンパイルした。手順は公式サイトを参照。

ライブラリ系のインストール

ライブラリはpipでインストールする。が、Python2とPython3が共存している環境なのでpipをそのまま使うとPhtyon2側で動作してしまう。

これを避けるため、ライブラリのインストールにはpip3を使う。pip3はpythonと一緒にインストールされる。

$ sudo pip3 install pillow
$ sudo apt-get install python-numpy python-scipy python-matplotlib python-sympy python-nose
$ sudo pip3 install cython ← h5pyのインストールで必要
$ sudo apt install libhdf5-dev ← h5pyのインストールで必要
$ sudo pip3 install h5py

chainerのインストール

やっと本題のインストールです。

$ sudo pip3 instal chainer


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です