備忘録がてら書いていきます。
環境
CPU:Core i7-6700
GPU:GTX 960
OS:Ubuntu 14.04 LTS (OSインストール直後)
CUDA 7.0 + cuDNN
参考サイト
http://kivantium.hateblo.jp/entry/2015/01/03/223607
http://qiita.com/bohemian916/items/a48e6496b04bbbf09fb3
http://nonbiri-tereka.hatenablog.com/entry/2015/02/12/160811
http://ry0.github.io/blog/2015/08/12/ubuntu-nvidia-cuda-7.0/
確認
lspci | grep nvidia
何も出力なし
依存パッケージのインストール
sudo apt-get install
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 build-essential`
gccのバージョンを確認。
gcc --version
gcc (Ubuntu 4.8.4-2ubuntu1~14.04.1) 4.8.4
CUDAのインストール
これが結構骨が折れた。
必要ファイルのダウンロード。
CUDAのインストーラcuda_7.0.28_linux.run
をここから、ダウンロード。バージョンはCaffeの公式サイトで推奨のCUDA7.0。
最新バージョンのグラフィックドライバNVIDIA-Linux-x86_64-361.42.run
をここよりダウンロード。
nouveauの無効化
sudo emacs /etc/modprobe.d/blacklist-nouveau.conf
に、以下を記入して保存。
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off
Optionを追加。
echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf
更新して再起動。グラフィックドライバが無効化されてる。
sudo update-initramfs -u
sudo reboot
CUDAのインストール
ctrl
+alt
+F1
でコンソール画面へ移動し、X-serverを一時停止。
sudo service lightdm stop
sudo init 3
runファイルをダウンロードしたディレクトリに移動して、
sudo ./cuda_7.0.28_linux.run
でCUDAと一緒にドライバのインストールを試みるも、以下のエラーメッセージでドライバのインストールがうまくいかない。
"the driver installation is unable to locate the kernel source"
ググっていろいろやってみたがうまくいかない。
sudo apt-get install linux-headers-$(uname -r)
sudo apt-get install linux-generic
sudo apt-get install linux-image-extra-virtual
とりあえずCUDAだけインストールしたあとで、ドライバは専用の.runファイルから別途インストールする。
sudo ./NVIDIA-Linux-x86_64-361.42.run
distribution-provided pre-instal script failedとか言われるけど、とりあえず実行すればあっさり。
.bashrc
にパスを追記。
#CUDA
export CUDA_HOME=/usr/local/cuda-7.0
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${CUDA_HOME}/lib64
export PATH=$PATH:${CUDA_HOME}/bin`
サンプルをmakeしてうまく動けばOK。
cuDNNのインストール
ここからインストーラをダウンロード。
tar -zxf cudnn-7.0-linux-x64-v4.0-prod.tgz
cd cuda
sudo cp include/cudnn.h /usr/local/cuda-7.0/include/
sudo cp lib64/* /usr/local/cuda-7.0/lib64/
BLASのインストール
sudo apt-get install libatlas-base-dev
その他
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
Anaconda
ここから、.shファイルをダウンロードして、実行。
自分はpython2.7の方を選びました。
Caffe
git clone https://github.com/BVLC/caffe
cd caffe
cp Makefile.config.example Makefile.config
以下をコメントアウト。
USE_CUDNN := 1
もう一箇所。
ANACONDA_HOME := $(HOME)/anaconda2
PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
$(ANACONDA_HOME)/include/python2.7 \
$(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include \
makeする。
make all -j4
make test -j4
make runtest -j4
pythonの依存関係をインストール。
cd python
for req in $(cat requirements.txt); do sudo pip install $req; done
makeする。
cd ../
make pycaffe
pythonからcaffeをimportできればOK。
import caffe
PATHを追記。
export PYTHONPATH=/home/ubuntu/Work/caffe/python:$PYTHONPATH