# -*- coding: utf-8 -*- Linux+GPU+caffeの作り方 Linuxをインストールする このとき、nouveau ドライバが勝手にセットされる これがGPUを使う時の妨げになる ======================================================== NVIDIAのGPU設定の時に、次が必要となる (GUIモード---Xが立ち上がっている---では 設定ができないため) GUI -> CUI sudo service lightdm stop ctl+alt+F1 ログインプロンプトが出るのでログインする CUI -> GUI sudo service lightdm start ====================================================================== GPUの設定 ubuntuでは nouveau というgraphic driverが動いていて、これが邪魔をする そのための作業: http://askubuntu.com/questions/481414/install-nvidia-driver-instead-nouveau に基づく 1) Blacklist the modules. Open the blacklist.conf file. sudo vim /etc/modprobe.d/blacklist.conf add the following modules in the file. blacklist amd76x_edac #this might not be required for x86 32 bit users. blacklist vga16fb blacklist nouveau blacklist rivafb blacklist nvidiafb blacklist rivatv Save the file and exit. 2) Remove all the nvidia* packages sudo apt-get remove --purge nvidia* 3) Once you are done with the steps above, reboot, stop the display manager and try to install nvidia drivers. つまり、NVIDIAからダウンロードしてきたNVIDIA-Linux-x86_64-352.41.run というような名前のファイルを実行シェルスクリプト, sudoすること) これがないとUbuntuのデスクトップ環境が使えなくなる(CUIになる) http://caffe.berkeleyvision.org/installation.html を参照のこと あと残るは、CUDAのインストール To install CUDA, go to the NVIDIA CUDA website and follow installation instruct ions there. https://developer.nvidia.com/cuda-downloads ダウンロードしたファイルが cuda_7.5.18_linux.run ならば sudo sh cuda_7.5.18_linux.run とする #--------------------------------------- cuDNN を使うと速くなる.... https://developer.nvidia.com/cudnn からダウンロード、 cudnn-7.0-linux-x64-v3.0-prod.tgz というような名前のファイル これをインストールする(includeファイルとライブラリ) 後述のcaffeeのMakefile.configで (USE_CUDNN := 1 )と 適切に設定すること --------------------------------------- Press Ctrl-Alt-F1. Once you are in the text mode, stop the display manager. This will end all the applications, so you better close them yourself before completing this step. To stop the display manager use the following command sudo /etc/init.d/gdm stop (sudo service lightdm stop でもよいはず---上記参照) ====================================================================== caffeを作る; http://www.nal.ics.es.osaka-u.ac.jp/personal/k-yamanishi/CaffeUbuntu.html に基づく sudo apt-get install nvidia-cuda-toolkit libatlas-base-dev libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler sudo apt-get install git python-pip ------ caffee本体 3.1 Caffe のダウンロード sudo apt-get install git git clone https://github.com/BVLC/caffe.git 3.2 Makefile.config の設定 Makefile.config.example をgedit などで開き編集する: ########### CUDAがない場合 CUDA_DIR := /usr/local/cuda の行をコメントアウトし # CUDA_DIR := /usr の行をアンコメントする # CPU_ONLY := 1 をアンコメントする(仮想 OS 上の場合GPUがないため) ################################## Makefile.config として保存 3.3 make (-jオプションで並列処理) make -j2 make test make runtest (2つほど disabled testsが出た) cuDNNで やったところ、 1647 tests from 242 test cases ran. (221256 ms total という結果が得られた HP Z440 workstation -------------------------------------------------- トラブルの対処 makeの時に hdf5.hというheader fileが見つからないエラーが出た場合 Make.config ファイルの78行目、INCLUDE_DIRS に /usr/include/hdf5/serial を追加する -lhdf5 (など)が見つからないというエラーが出た場合(includeファイ ルの時にエラーが出たなら、ほとんどこれもあてはまる) Make.config ファイルの79行目、LIBRARY_DIRS に /usr/lib/x86_64-linux-gnu/hdf5/serial を追加する cv::imread(...)に対する定義されていない参照です」というエラー が出た場合、 Makefileの 174行目(あたり) LIBRARIESの指定に、 opencv_imgcodecs を付け加える --------------------------- Pythonから使えるようにする sudo apt-get install python-pip python-dev python-numpy python-skimage cd caffe/python bash for req in $(cat requirements.txt); do sudo pip install $req; done cd .. make pycaffe export PYTHONPATH=~/caffe/python/:$PYTHONPATH として環境変数を設定する必要あり sudo gedit /etc/profile として上記を書き込むと楽