Note on how to install caffe on Ubuntu. Sucessfully install using CPU, more information for GPU see this link
###Installation
- verify all the preinstallation according to CUDA guide e.g.
lspci | grep -i nvidia
uname -m && cat /etc/*release
gcc --version- install
CUDAon Ubuntu, following this site to install CUDA. We get.debfile anddpkgfrom CUDA download page (add CUDA path to.bashrc, see below)
wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_6.5-14_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1404_6.5-14_amd64.deb
sudo apt-get update
sudo apt-get install cuda-
More to do see post installion at this link where we change directory to
~/NVIDIA_CUDA-6.5_Samplesthen typemake. Afterward, rundeviceQueryunder~/NVIDIA_CUDA-6.5_Samples -
install
BLAS(from libopenblas) andgit(andunzipfor opencv)
sudo apt-get install libopenblas-dev git unzip- install
opencv, follow this site where I use this bash script to installopencv
wget https://raw.githubusercontent.com/jayrambhia/Install-OpenCV/master/Ubuntu/2.4/opencv2_4_9.sh
chmod +x opencv2_4_9.sh
./opencv2_4_9.sh - install Anaconda from this link then run
wget http://09c8d0b2229f813c1b93-c95ac804525aac4b6dba79b00b39d1d3.r79.cf1.rackcdn.com/Anaconda-2.1.0-Linux-x86_64.sh
bash Anaconda-2.1.0-Linux-x86.sh(add Anaconda path to .bashrc, see below)
- install Boost using this command:
sudo apt-get install libboost-all-dev- install others by following Caffe documentation
sudo apt-get install 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- Get latest version of protobuf using
pip
pip install protobuf- Then clone caffe and follow the instruction
git clone https://github.com/BVLC/caffe
cp Makefile.config.example Makefile.config
# Adjust Makefile.config (for example, if using Anaconda Python)
make all
make test
make runtest- Note that we apply this to anaconda according to Caffe issue
rm ~/anaconda/lib/libm.*- And I also do something like in
/usr/lib/x86_64-linux-gnu/:
sudo cp libhdf5_hl.so.7 libhdf5_hl.so.8
sudo cp libhdf5.so.7 libhdf5.so.8(according to this issue on Caffe)
- After that we can make python interface for caffe -
make pycaffe(incaffe/python)
###Customization Caffe
- This is what I added to
.bashrc
# CUDA
export PATH=/usr/local/cuda-6.5/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-6.5/lib64:$LD_LIBRARY_PATH
export PATH
# Anaconda
export PATH=/home/ubuntu/anaconda/bin:$PATH
# Caffe Root
export CAFFE_ROOT=/home/ubuntu/caffe###Error Found
- According to tutorial When running
./examples/mnist/train_lenet.sh, I got following error:
libdc1394 error: Failed to initialize libdc1394
I0109 02:31:21.168457 30295 caffe.cpp:99] Use GPU with device ID 0
F0109 02:31:21.168894 30295 common.cpp:53] CPU-only Mode: cannot make GPU call.- Above problem solved by changing
solver_mode: GPUtoCPUin/caffe/examples/mnist/lenet_solver.prototxt - More installation:
pip install protobuf
###To do list
- Set python path for caffe so we are able to
import caffesee more on http://caffe.berkeleyvision.org/tutorial/interfaces.html - See more in IPython notebook example from Caffe
For python interface of caffe. to
import caffein python, runexport PYTHONPATH=/path/to/caffe/python:$PYTHONPATH