※前提条件:本情報はUbentu15.01を基づいて説明してる 準備作業 †CUDAダウンロードURL: https://developer.nvidia.com/cuda-downloads 下記のようなファイルがダウンロードされる。 cuda-repo-ubuntu1404-7-0-local_7.0-28_amd64.deb cuDNNダウンロード申請URL: https://developer.nvidia.com/cudnn OpenCVのLinuxライブラリをコンパイルを参照して、OpenCVをインストールすること。 ステップ1 必須コンポーネント †sudo apt-get install build-essential sudo apt-get install vim cmake git sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler ステップ2 CUDAインストール †ctrl+alt+F1で以下のコマンドを実行する sudo service lightdm stop CUDAをインストールする sudo dpkg -i cuda-repo-ubuntu1404-7-0-local_7.0-28_amd64.deb sudo apt-get update sudo apt-get install cuda インストール完了後、PCを再起動する cuda環境設定 †環境変数を設定する gedit /etc/profile 末尾に以下のコードを追加する PATH=/usr/local/cuda-7.5/bin:$PATH export PATH 環境変数を適用する source /etc/profile 以下の設定ファイルを作成する sudo vim /etc/ld.so.conf.d/cuda.conf 中身を以下に入力する /usr/local/cuda-7.5/lib64 設定を適用する sudo ldconfig cuda サンプル †/usr/local/cuda-7.5/samples以下のコマンドでbuild samples sudo make all -j4 ※10分程度かかる samples/bin/x86_64/linux/release, deviceQueryを実行する ./deviceQuery ※グラフイックカードの情報が表示できれば、インストール成功ということ ステップ3 cuDNNインストール †ダウンロードURL: https://developer.nvidia.com/rdp/cudnn-download CUDAのバージョンに合わせてダウンロードしてください。 解凍&インストール #cuDNN ver6.5 tar -zxvf cudnn-6.5-linux-x64-v2.tgz cd cudnn-6.5-linux-x64-v2 sudo cp lib* /usr/local/cuda-7.5/lib64/ sudo cp cudnn.h /usr/local/cuda-7.5/include/ #cuDNN ver7.5 tar -zxvf cudnn-7.5-linux-x64-v5.0-ga.tgz cd cuda sudo cp lib64/lib* /usr/local/cuda-7.5/lib64/ sudo cp include/cudnn.h /usr/local/cuda-7.5/include/ #cuDNN ver6.5 cd /usr/local/cuda-7.5/lib64/ sudo rm -rf libcudnn.so libcudnn.so.6.5 sudo ln -s libcudnn.so.6.5.48 libcudnn.so.6.5 sudo ln -s libcudnn.so.6.5 libcudnn.so #cuDNN ver7.5 cd /usr/local/cuda/lib64/ sudo chmod +r libcudnn.so.5.0.5 sudo ln -sf libcudnn.so.5.0.5 libcudnn.so.5 sudo ln -sf libcudnn.so.5 libcudnn.so sudo ldconfig ステップ4 CaffeのPthyonコンポーネントのインストール †pipインストール sudo apt-get install python-pip Caffeのダウンロード URL: https://github.com/BVLC/caffe Gitソースの取得 cd git clone https://github.com/BVLC/caffe.git scipyのインストール cd caffe/python sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose root権限でrequirement内のパッケージをインストール sudo su for req in $(cat requirements.txt); do pip install $req; done エラーが提示された場合、インストールパッケージが足りない可能性が高い、その場合提示のメッセージに従って、以下のコマンドを実行すればよい。 pip install <package-name> インストール完了後、一般ユーザへ切り替え exit ステップ5 Intel MKL/Atlasのインストール †ここではAtlasのインストールを説明する sudo apt-get install libatlas-base-dev Caffeをコンパイルする †cd ~/caffe cp Makefile.config.example Makefile.config gedit Makefile.config Makefile.config ファイルの編集 †以下の項目を設定する cuDNNを利用させる # USE_CUDNN := 1 注釈を外す USE_CUDNN := 1 CUDAのディレクトリを設定する CUDA_DIR := /usr/local/cuda-7.5 pythonのインストールパスを修正(必要な場合のみ) PYTHON_INCLUDE := /usr/include/python2.7 \ /usr/lib/python2.7/dist-packages/numpy/core/include makeする †make all -j4 make test make runtest make pycaffe トラブルシューティング †cuDNN見つからない †以下のエラーメッセージが提示される場合 Found cuDNN: ver. ??? found (include: /usr/local/include, library: /usr/local/lib/libcudnn.so) Cuda.cmakeを以下のように、CUDNNのパスを正しく指定すればよい。 #set(CUDNN_ROOT "" CACHE PATH "CUDNN root folder") 下記に変更 set(CUDNN_ROOT "/usr/local/cuda-7.5") #find_path(CUDNN_INCLUDE cudnn.h # PATHS ${CUDNN_ROOT} $ENV{CUDNN_ROOT} ${CUDA_TOOLKIT_INCLUDE} # DOC "Path to cuDNN include directory." ) 下記に変更 set(CUDNN_INCLUDE ${CUDNN_ROOT}/include) #find_library(CUDNN_LIBRARY NAMES ${CUDNN_LIB_NAME} # PATHS ${CUDNN_ROOT} $ENV{CUDNN_ROOT} ${CUDNN_INCLUDE} ${__libpath_hist} ${__libpath_hist}/../lib # DOC "Path to cuDNN library.") 下記に変更 set(CUDNN_LIBRARY ${CUDNN_ROOT}/lib64) cublas_v2.h見つからない †以下のエラー情報が提示された場合、コンパイラはGPUを利用しようとする際に、うまく動作できないため、エラーが発生した。 CXX .build_release/src/caffe/proto/caffe.pb.cc CXX src/caffe/layer_factory.cpp In file included from ./include/caffe/common.hpp:19:0, from ./include/caffe/blob.hpp:8, from ./include/caffe/layer.hpp:8, from src/caffe/layer_factory.cpp:8: ./include/caffe/util/device_alternate.hpp:34:23: fatal error: cublas_v2.h: そのようなファイルやディレクトリはありません #include <cublas_v2.h> ^ compilation terminated. Makefile:572: recipe for target '.build_release/src/caffe/layer_factory.o' failed make: *** [.build_release/src/caffe/layer_factory.o] Error 1 簡単な対策として、CPUだけ利用して訓練するつもりなら、Makefile.configファイル内CPU_ONLYを設定すればよい。ではなければ、Makefile.configのCUDA_DIRの設定が間違っていること、実際インストールパスを設定しなおせばよい。 hdf5.h見つからない †以下のエラー情報が提示された場合 In file included from src/caffe/util/hdf5.cpp:1:0: ./include/caffe/util/hdf5.hpp:6:18: fatal error: hdf5.h: そのようなファイルやディレクトリはありません #include "hdf5.h" ^ compilation terminated. Makefile:575: recipe for target '.build_release/src/caffe/util/hdf5.o' failed make: *** [.build_release/src/caffe/util/hdf5.o] Error 1 下記のようにコンパイルファイルを修正すればよい Makefile.configファイル --- INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include +++ INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/ Makefileファイル --- LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5 +++ LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial 実行する †python import caffe エラーが発生しなければ、インストール正常にしたことです。 本当にほしかったのはこういうブログだったんだ コメント: |