CUDAのインストール
まずは「ソフトウェアとアップデート」の「追加のドライバー」からNVIDIAのドライバをインストールする.
バージョンが分かっていれば自分で,
sudo apt-get install nvidia-361
とかやってもOK.
NVIDIAのサイトには16.04版はまだ無かったので,今回はパッケージからインストール
sudo apt-get install nvidia-cuda-toolkit
cuDNNのインストール
NVIDIAのサイト(https://developer.nvidia.com)からcuDNNをダウンロード.
ダウンロードするためには開発ユーザ登録が必要です.登録が完了するまでに1,2日かかります.
ダウンロードしてきたcudnn-7.0-linux-x64-v4.0-prod.tarを展開して,include/cudnn.hを/usr/includeの下にシンボリックリンク.同様にlib64/以下のファイルも/usr/libの下にシンボリックリンク.
(コピーするとあとで入れ直すときに面倒なので,シンボリックリンクにしておきました.)
cd ~
tar xf cudnn-7.0-linux-x64-v4.0-prod.tar
cd /usr/include ; sudo ln -s ~/cuda/include/cudnn.h .
cd /usr/lib ; sudo ln -s ~/cuda/lib64/* .
caffeのソースコードのダウンロード
sudo apt-get install git
mkdir tmp; cd tmp
git clone https://github.com/BVLC/caffe.git
必要なパッケージの取得
~/tmp/caffe/docs/install_apt.mdに色々書いてあるので基本的にはそれを守っていれば大丈夫
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
sudo apt-get install libatlas-base-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
pycaffe用
cd ~/tmp/caffe/python
for req in $(cat requirements.txt) ; do pip install $req ; done
CMakeLists.txtの修正
このままmakeするとmemcpy関係でコンパイルエラーが出るので,~/tmp/caffe/CMakeLists.txtを編集.
ファイル内の
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -Wall")
を,
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_FORCE_INLINES -fPIC -Wall")
と変更する.
make
cd ~/tmp/caffe
mkdir build; cd build
cmake -D CMAKE_INSTLL_PREFIX=適当な場所 ..
make -j
make runtest
make install
PATHとか
~/.bashrcあたりに以下を追記しておきます.
export CAFFE_HOME=caffeをインストールした場所
export PATH=${CAFFE_HOME}/bin:${PATH}
export LD_LIBRARY_PATH=${CAFFE_HOME}/lib:${LD_LIBRARY_PATH}
export PYTHONPATH=${CAFFE_HOME}/python:${PYTHONPATH}
追記後はsource ~/.bashrc を忘れずに.