Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
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

Are you able to use the command line interface such as cmdcaffe ??

The script for installing OpenCV is broken, as ffmpeg can not anymore be installed via apt-get.

when i am running make runtest i am getting following error,
ERROR: something wrong with flag 'flagfile' in file '/home/sriharsha/gflags-master/src/gflags.cc'. One possibility: file '/home/sriharsha/gflags-master/src/gflags.cc' is being linked both statically and dynamically into this executable.
make: *** [runtest] Error 1
sriharsha@sriharsha-Inspiron-3521:~/caffe$

how to resolve it?

After finishing above steps, When i import lmdb in python, the import fails. Any ideas ? I am on ubuntu 14.04. Although my caffe is working fine.

For python interface of caffe. to import caffe in python, run export PYTHONPATH=/path/to/caffe/python:$PYTHONPATH

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