配置环境:Windows10+Vmware+Ubuntu16.04+CPU
参考博客:http://www.2cto.com/kf/201702/597101.html
http://blog.csdn.net/hjimce/article/details/48781693
1、准备工作
上官网http://caffe.berkeleyvision.org/install_apt.html安装caffe依赖库
无GPU,跳过CUDA
sudo apt-get update
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-devr
apt-get install libprotobuf-dev
apt-get install libleveldb-dev
apt-get install libsnappy-dev
apt-get install libopencv-dev
apt-get install libhdf5-serial-dev
apt-get install protobuf-compiler
apt-get install --no-install-recommends libboost-all-dev
安装BLAS
sudo apt-get install libatlas-base-dev
安装python
apt-get install python-dev
安装谷歌、gflags、lmdb
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
2、下载caffe
先安装git
apt-get install git
在利用git 在github上下载caffe
git clone git://github.com/BVLC/caffe.git
如果需要caffe的python接口,切换到caffe下的python目录下
liuyuying@ubuntu:~/caffe/python$
先安装pip:
apt-get install python-pip
for req in $(cat requirements.txt); do pip install $req; done//这步可能出错
由于国内网络的限时,在利用pip安装时很慢,因此需要借助于国内源。这里用pip安装可能速度很慢,很可能下载好几个小时,推荐用清华大学的pip源临时安装,所以命令改为如下:
代码功能解析:在初始的目录(如liuyuying@ubuntu:~$ )下输入以下代码,其中tar zxf pip-1.0.2.tar.gz是解压下载的安装包,cd pip-1.0.2为进入到pip-1.0.2目录,在此目录下利用python运行setup.py文件。cd ~/caffe/python指的是在caffe下的python目录下,利用pip与国内源安装依赖库。
wget http://pypi.python.org/packages/source/p/pip/pip-1.0.2.tar.gz
tar zxf pip-1.0.2.tar.gz//根据http://pypi.python.org/packages/source/p/pip最新的版本填写版本号
cd pip-1.0.2
python setup.py install
cd ~/caffe/python
for req in $(cat requirements.txt); do pip install -i https://pypi.tuna.tsinghua.edu.cn/simple $req; done//这个好像运行的时候有错误 忘了怎么解决的了
我自己试的时候忘记了有没有安装这个......不过pip是安装了的
注意用pip下载一些依赖包时,由于访问国外的网络较慢,此时可以选择利用国内源进行下载,假设要下载的是entrypoints。则可输入以下代码:sudo pip install -i https://pypi.tuna.tsinghua.edu.cn/simple entrypoints
3、配置Makefile.config文件
Caffe下载完成后,配置Makefile.config文件:
cd ~/caffe
cp Makefile.config.example Makefile.config //将Makefile.config.example 更名为Makefile.config
打开Makefile.config
安装步骤是在只有CPU的情况下完成的,因此要使能CPU,所以去掉CPU_ONLY := 1前面的注释;
其他修改的部分,修改后如下所示:
PYTHON_INCLUDE := /usr/include/python2.7 \
/usr/lib/python2.7/dist-packages/numpy/core/include
# Whatever else you find you need goes here.
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial
4、编译 caffe
方案1:make pycaffe
make all
make test
make runtest
方案2:采用这种方案一般没问题,不过在使用c++调用的时候,会使用到链接库:libcaffe.so.1.0.0-rc3,这种方法编译后没有生成这个文件;经过google查找,发现采用cmake编译,才会生成libcaffe.so文件
mkdir build
cd build
cmake ..
make all -j8 或者是-j4
我自己使用的是方案一
5、测试caffe
切换到caffe目录下,输入如下命令测试mnist数据集
sh data/mnist/get_mnist.sh
sh examples/mnist/create_mnist.sh
vim examples/mnist/lenet_solver.prototxt//也可以直接用文本编辑器打开编辑,将最后一行的GPU改成CPU
./examples/mnist/train_lenet.sh //开始训练
推荐个caffe模型网站:https://github.com/BVLC/caffe/wiki/Model-Zoo。这个网站可以找到好多caffe模型、源码,非常适合于我们学习。