Skip to content

Instantly share code, notes, and snippets.

@saif-data
Forked from titipata/caffe_install.md
Created December 17, 2015 12:14
Show Gist options
  • Save saif-data/ad50939b9c823f6536ea to your computer and use it in GitHub Desktop.
Save saif-data/ad50939b9c823f6536ea to your computer and use it in GitHub Desktop.
My notes on how to install caffe on Ubuntu

Caffe Installation

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 CUDA on Ubuntu, following this site to install CUDA. We get .deb file and dpkg from 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_Samples then type make. Afterward, run deviceQuery under ~/NVIDIA_CUDA-6.5_Samples

  • install BLAS (from libopenblas) and git (and unzip for opencv)

sudo apt-get install libopenblas-dev git unzip
  • install opencv, follow this site where I use this bash script to install opencv
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 (in caffe/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: GPU to CPU in /caffe/examples/mnist/lenet_solver.prototxt
  • More installation: pip install protobuf

###To do list

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment