1. As my machine has no GPU hardware, I am going to install Caffe without CUDA support.
2. I am going to install only Python wrapper for Caffe.
As the installation page on Caffe has no detailed instructions to install all the dependencies required and get your system ready to run CNNs , I am writing this small tutorial to set Caffe Up and Running on your machine.
Firstly, we will get stared by downloading latest release of Caffe from github. (You need to have Git installed on your machine)
git clone https://github.com/BVLC/caffe.git #add these following lines in the end of your .bashrc file export PYTHONPATH=$PYTHONPATH:$HOME/caffe/python export PYTHONPATH=$PYTHONPATH:$HOME/caffe/python/caffe
It is advised to use Anaconda Python distribution as it installs most of the requirements for python wrapper around Caffe (though it install a lot of packages we have no use). But, installing Anaconda is up to you.
Download Anaconda and run shell script. Add the path of bin to #PATH in file ~/.bashrc.
bash Anaconda-2.1.0-Linux-x86_64.sh #add the following line at the end to your .bashrc export PATH=/home/suryateja/anaconda/bin:$PATH
Get gflags and install on your system.
wget https://github.com/schuhschuh/gflags/archive/master.zip unzip master.zip cd gflags-master mkdir build && cd build export CXXFLAGS="-fPIC" && cmake .. && make VERBOSE=1</pre> <pre>make sudo make install
Download google-glog and install. You can also install through apt-get. And install snappy.
tar -xvzf google-glog_0.3.3.orig.tar.gz cd glog-0.3.3/ ./configure make sudo make install agi libgoogle-glog-dev agi libsnappy-dev
Get leveldb onto your machine and lmdb with its dependencies.
git clone https://code.google.com/p/leveldb/ cd leveldb make cp --preserve=links libleveldb.* /usr/local/lib sudo cp --preserve=links libleveldb.* /usr/local/lib sudo cp -r include/leveldb /usr/local/include/ ldconfig sudo ldconfig sudo apt-get install libffi-dev python-dev build-essential sudo apt-get install liblmdb-dev
Download Atlas and Lapack (directly downloads when you click on link!). But before installing, you need to modify your CPU frequency/scaling. You you get errors saving the file, try to use different editor. I have tried sublime, gedit. Finally with I can modify with emacs. Change the scaling for all of your CPU cores to replace the single word in the file with ‘performance’.
gksu emacs /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor gksu emacs /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor gksu emacs /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor gksu emacs /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor bunzip2 -c atlas3.10.2.tar.bz2 | tar xfm - mv ATLAS ATLAS3.10.2 cd ATLAS3.10.2 mkdir Linux_C2D64SSE3 cd Linux_C2D64SSE3 ../configure -b 64 -D c -DPentiumCPS=2400 --prefix=/home/suryateja/lib/atlas --with-netlib-lapack-tarfile=/home/suryateja/Downloads/lapack-3.5.0.tgz make build make check make ptcheck make time sudo make install
Install dependencies for python wrapper if you didn’t choose to install Anaconda Python distrubution. The dependencies file is in caffe/python. And install hdf5 via apt-get.
cd python/ for req in $(cat requirements.txt); do sudo pip install $req; done sudo apt-get install libhdf5-serial-dev
Download latest 3.0.0-beta version (file automatically downloads if you click) of OpenCV and build it. But before install all the dependencies of OpenCV.
sudo apt-get install build-essential sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev cd Downloads cd opencv-3.0.0-beta/ mkdir release cd release cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .. make sudo make install
Now, we are almost done with getting all the dependencies of Caffe. So, lets dive into getting Caffe up and running on our machines. Modify the makefile as your needs as shown in installation page.
cd caffe cp Makefile.config.example Makefile.config make all make test make runtest
If you have errors while installing even followed this tutorial, you can search for any known issues on their issues page. One of the errors I faced is this. And I am able to solve it as suggested in the comments section of issue page.
At last, now, you have Caffe installed and running on your machine.
Happy training Deep Neural Networks. 😀