Ubuntu14.04下Caffe(CPU only)的配置

    由于实验室Ubuntu版本和CUDA版本和PSPNet的运行环境不兼容,于是在虚拟机上先用CPU跑一下PSPNet,开始了又一次的配置Caffe,www。

 

安装相关依赖项:
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
sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
安装Opencv(这里是Opencv3.1):
先自行下载Opencv-3.1.0,然后unzip到/home,重命名为opencv
cd ~/opencv
mkdir build
cd build
sudo apt install cmake
sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
sudo make -j8 
sudo make install
配置opencv环境变量:
sudo gedit /etc/ld.so.conf
然后在最后一行加上/usr/local/lib
sudo ldconfig(使配置生效)
sudo gedit /etc/bash.bashrc
然后在最后加上PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
source /etc/bash.bashrc 
最后编译一下opencv/samples里的程序检测一下 oencv是否可以使用:
cd ~/opencv/samples
cmake .
sudo make -j $(nproc)

cd ~/opencv/samples/cpp
./cpp-examples-facedetect lena.jpg
如果cpp文件夹中没有图片,自己下一张
    接下来是caffe的部分了:
git clone http://github.com/BVLC/caffe.git
(如果没有git工具:sudo apt-get install git)
cd caffe
cp Makefile.config.example Makefile.config
gedit Makefile.config
对Makefile.config里面的内容进行修改:
主要涉及到是否使用CPU(CPU_ONLY:=1),是否使用CUDNN(USE_CUDNN:=1),OPENCV是否为3,是否用python layer来写网络层。
最终要的一条!对于Ubuntu16来说,修改一下内容:
# add hdf5 to include and library directories (line 90 & 91)
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial 
如果需要编译pycaffe,进行一下操作,否则跳过:
cd ~/caffe/python
for req in (cat $requirements.txt); do pip install $req; done
make pycaffe -j4 

如果在编译pycaffe时出错:fatal error: numpy/arrayobject.h No such file or directory,那么只要再用sudo apt-get install python-numpy再重新安装一下就可以了,终于最后一步了...

make all -j4
make test -j4
make runtest -j4
最后测试一下能否运行caffe里面的demo:
cd ~/caffe
./data/mnist/get_mnist.sh
./examples/mnist/create_mnist.sh
由于是CPU only模式,需修改/examples/mnist/lenet_solver.prototxt里的mode,改成CPU
./examples/mnist/train_lenet.sh


参考:https://www.linuxidc.com/Linux/2016-12/138870.htm

        






猜你喜欢

转载自blog.csdn.net/chenxjhit/article/details/80018043