CUDAとCaffeのインストール (Ubuntu 14.04 LTS)

CUDAとCaffeをインストールしたときの手順。

CUDA

※CUDAは、apt-getでなく、本家サイトからdebファイルを取得してやったほうがいいらしい。

ここ(CUDA 7.5 Downloads | NVIDIA Developer)から、debファイルをダウンロードする。

cuDNNについては、インストールするのをやめた。 ダウンロードサイトに、Organizationを入力する箇所があったので。。。 個人で使用する場合は、individualとか入れればいいのかな。

インストール

sudo dpkg -i cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb
sudo apt-get update
sudo apt-get install cuda

再起動

lsmod | grep nvidia

動作確認

cp -r /usr/local/cuda/samples ~
cd ~/samples
make

bin/x86_64/linux/release/deviceQuery

参考サイト

Ubuntu 14.04.3 LTS に Chainer をインストールする - 不確定特異点

Caffe

本家サイトのInstallation(Caffe | Installation)を参考にインストール。

Caffeにインストールが必要なものをapt-getでインストール

General dependencies

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev

BLAS (Install ATLAS)

sudo apt-get install libatlas-base-dev

Remaining dependencies, 14.04

sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

Caffe用のフォルダを作成とCaffeのダウンロード

「~/caffe_ws」に作成することにした。

mkdir caffe_ws
cd caffe_ws
git clone https://github.com/BVLC/caffe.git

PyCaffeに必要なもののインストール

Fortranが必要らしいので。gfortranを入れる。

sudo apt-get install gfortran

VirtualEnvでcaffe用のpython環境を作成

「~/caffe_ws/python」で作成することにした。

mkdir ~/caffe_ws/python
virtualenv --system-site-packages ~/caffe_ws/python
source ~/caffe_ws/python/bin/activate  # If using bash

簡単に使えるように、.bash_aliases に 「source .../activate」を登録しておく。

alias s_caffe="source ~/caffe_ws/python/bin/activate"

pipでpycaffeで必要なものをインストール

cd ~/caffe_ws/caffe/python
for req in $(cat requirements.txt); do pip install $req; done

deactivate

Caffeのコンパイル

cd ~/caffe_ws/caffe
cp Makefile.config.example Makefile.config

Makefile.configの編集

環境に合わせて修正する。 CUDAあり、CUDNNなしだと、ほぼ変更不要のようだ。

numpyが~/caffe_ws/caffe配下にあるので、64行目あたりを変更。

#PYTHON_INCLUDE := /usr/include/python2.7 \
#       /usr/lib/python2.7/dist-packages/numpy/core/include
# この部分を環境にあわせて変更

PYTHON_INCLUDE := /usr/include/python2.7 \
        /home/自分のアカウント/caffe_ws/python/lib/python2.7/site-packages/numpy/core/include

OpenCV3.1を入れてたので、「OPENCV_VERSION := 3」を有効にした。

make

make all -j4 #CPUのコア数で調整
make test
make runtest

pycaffeのインストール

s_caffe

cd ~/caffe_ws/caffe
make pycaffe
make distribute

export PYTHONPATH=~/caffe_ws/caffe/python:$PYTHONPATH

pycaffeのテスト

$> python
    
import caffe

pycaffe.cy でワーニングが出てるけど、そのうち対応するらしい。

caffeでMNIST

export CAFFE_ROOT=~/caffe_ws/caffe
    
cd $CAFFE_ROOT
./data/mnist/get_mnist.sh
./examples/mnist/create_mnist.sh

./examples/mnist/train_lenet.sh

train_lenet.shの実行時間は、だいたい3分20秒くらい。

参考サイト

素人がCaffeを使ってDeepLearningしてみた(導入編) - Qiita

コメント

chainerでCUDAを利用する場合、chainerインストール前にCUDAをインストールする必要があるとのこと。 インストールは先日のブログどおり。

chainerのMNIST exampleをgpuありで実行したところ、1分50秒くらい!(CPU Core i5, GPU:GPX750Ti)
gpuなしだと、2時間半くらいで、前回のノートPCのVirtualBox上では、1日ちょっとだったのでgpu必須でしょう。
gpuなしに比べて80倍くらい速いけど、なにか間違ってないか不安。
それと、AWSgpuインスタンスだと5倍くらいとどこかで書いてあった気がするけど、結構パフォーマンスが違うみたい。

それから、tensorflowについては、GPU利用する場合にCUDAとcuDNNのどちらも必要とのことでインストールしなかった。

関連

TensorflowとChainerのインストールの覚え書き - umejanのブログ