1、我的机子是:
联想32位、双显卡(intel集显和nvidia独显),
ubuntu是32位的ubuntu12.04.05版本,属于长期支持版本,在ubuntu官网下载,
我是用u盘安装的,过程不再累述,自行百度谷歌。
2、由于双显卡,所以系统安装好以后要安装独显驱动不可直接到nvidia官网下载安装,否则可能会造成重启后无法进入系统。对于双显卡,常见方法是使用安装bumblebee来实现安装独显驱动,具体可百度。
3、从这步骤开始caffe相关配置,可参见官网:http://caffe.berkeleyvision.org/installation.html#compilation
由于我的nvidia独显比较老,计算能力只有2.1(可到nvidia官网查看),而caffe强烈建议配套使用计算能力3以上的独显,所以不安装cuda,否则可能在配置后出现未知错误(事实也是如此,我第一次安装cuda后确实出问题了)。
4、下载caffe,网址https://github.com/BVLC/caffe
注意:版本可选,如下:
下载后将该包解压到根目录下如/home/xx/。
注:下面的命令都是以根目录为准。
5、安装一些后面估计要用的命令包:
sudo apt-get install git
sudo apt-get install cmake
6、参考上述caffe官网的安装说明,首先安装各种库和包依赖项:
sudo apt-get update
sudo apt-get install build-essential
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
7、安装blas(我没有下载到合适版本的intel_mkl,所以直接安装atlas):
sudo apt-get install libatlas-base-dev
8、安装boost
在官网上下载boost(>= 1.55)源码,解压出来。cd到boost目录里。
sudo bash ./bootstrap.sh
sudo ./b2 install
9、安装remaining依赖项(注意我是12.04版本的ubuntu,其他版本参看上述官网方法):
注意:以下每个包安装都是在根目录下,所以安装一个后需要返回上一级根目录cd ..。
# glog
wget https://google-glog.googlecode.com/files/glog-0.3.3.tar.gz
tar zxvf glog-0.3.3.tar.gz
cd glog-0.3.3
./configure
make && make install
# gflags
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
make && make install
# lmdb
git clone https://github.com/LMDB/lmdb
cd lmdb/libraries/liblmdb
make && make install
注:如果make && make install出错,比如无法创建文件或无法访问文件之类的,则在其前加sudo,使得拥有权限。
10、安装openCV(要做图像处理,这是必须的)
直接使用别人写好的脚本安装,省得出错。因为安装2.4.10时出错,所以我安装的2.4.9:
1)下载https://github.com/bearpaw/Install-OpenCV
2)进入目录 Install-OpenCV/Ubuntu/2.4
3)执行脚本本安装opencv2.4.9
./opencv2_4_9.sh
4)安装好后测试openCV是否成功安装:先在根目录下,
mkdir~/opencv-lena
cd ~/opencv-lenagedit
DisplayImage.cpp
然后在.cpp中编辑如下代码:
#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv )
{
if ( argc != 2 )
{
printf("usage: DisplayImage.out <Image_Path>\n");
return -1;
}
Mat image;
image = imread( argv[1], 1 );
if ( !image.data )
{
printf("No image data \n");
return -1;
}
namedWindow("Display Image", WINDOW_AUTOSIZE );
imshow("Display Image", image);
waitKey(0);
return 0;
}
接着,opencv-lena/下创建cmake编译文件:
sudo gedit CMakeLists.txt
并编辑如下内容:
cmake_minimum_required(VERSION 2.8)
project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage DisplayImage.cpp )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )
并且,将图片1.jpg复制到opencv-lena文件中。
再就是编译:
cd ~/opencv-lena
sudo cmake .
sudo make
最后,执行:
./DisplayImage 1.jpg
能出现图像就代表ok了。
11、安装caffe所需的python环境(由于ubuntu自带python2.7环境,所以我直接用系统默认的,但是还要安装一些包):
先安装头文件包和命令包:
sudo apt-get install python-dev python-pip
再进入caffe下的python目录,执行:
for req in $(cat requirements.txt); do sudo pip install $req; done
如果哪个环境反复装不上就用sudo pip install手动安装。
12、编译Caffe
先 cd 到你的 caffe根目录,然后
cp Makefile.config.example Makefile.config
sudo gedit Makefile.config
修改该文件,由于我只使用CPU模式,没有GPU,故将CPU_ONLY前的#去掉,其他不改,保存。
然后开始编译,最好切换到root模式下,即输入:su(未设置su密码的同学先设置密码),再输入密码进入root模式,在该模式下:
sudo make all
sudo make test
sudo make runtest
有大量错误就表示编译失败,可百度谷歌解决,无错误或少量错误则表示caffe编译成功,可继续下一步。
13、编译Python wrapper
sudo make pycaffe
完成caffe的python接口编译生成后,可以将python接口路径进行永久性设置,如下:
sudo gedit ~/.bashrc
在文件末尾添加:
export PYTHONPATH=/home/startag/caffe/python/:/home/startag/caffe/python/caffe/
然后更新:sudo ldconfig
重启生效。
至此,caffe配置结束,如果在测试中提示某些包或库未安装,可以自己手动sudo apt-get install xx来安装。
一切正常的话,你可使用caffe自带的mnist手写数字识别方案测试你配置的caffe框架。具体方法百度谷歌去吧,资料多多。