由于实验室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