安装依赖项:
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-dev
BLAS 安装
sudo apt-get install libatlas-base-dev
安装 pycaffe 接口所需要的依赖项
sudo apt-get install -y python-numpy python-scipy
python-matplotlib python-sklearn python-skimage python-h5py
python-protobuf python-leveldb python-networkx python-nose
python-pandas python-gflags cython ipython
继续安装依赖项
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
1、安装Git
终端输入:
sudo apt-get install git
2、安装SSD
在主文件下终端输入(即/home/***(您的服务器名字)这个目录):
git clone https://github.com/weiliu89/caffe.git
cd caffe
git checkout ssd(出现“分支”则说明copy-check成功)
第二部分:配置SSD(caffe)
终端输入:
cd /home/**(您服务器的名字)/caffe
cp Makefile.config.example Makefile.config
打开Makefile.config
修改下列:
USE_CUDNN := 1
CUDA_DIR := /usr/local/cuda-8.0
WITH_PYTHON_LAYER := 1
INCLUDE_DIRS :=$(PYTHON_INCLUDE)/usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB)/usr/local/lib/usr/lib /usr/lib/aarch64-linux-gnu/hdf5/serial
为了匹配cuda8.0的计算能力,请把Makefile.config中CUDA_ARCH中的前两行去掉。(不去掉的话编译时会有警告)
在Makefile文件中,把 hdf5_hl 和hdf5修改为hdf5_serial_hl 和 hdf5_serial,也就是把下面第一行代码改为第二行代码。
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs opencv_videoio
(关于opencv需要修改,应该是我安装了opencv3.4.0的原因)
编译caffe:
cd /home/**(您服务器的名字)/caffe
mkdir build
cd build
cmake ..(cmake和..中间又一个空格)
make all -j16("‐j16"是使用 CPU 的多核进行编译,可以极大地加速编译的速度)
make install
make runtest(这一步不是必须的)
make pycaffe(编译pycaffe)
修改路径:
export PYTHONPATN=/home/nvidia/caffe/python
下载模型:
模型是我之前下载好的,目前连接找不到了
在caffe/models文件夹下新建文件夹,命名为VGGNet/,将刚刚下载下来的文件放入这个VGGNet文件夹当中
演示
演示网络摄像头识别效果,终端输入:
python examples/ssd/ssd_pascal_webcam.py
遇到的问题:
(1)ImportError: No module named model_libs
解决方法:出现该错误的原因是python接口的路径不对
在终端输入:echo $PYTHONPATH
可弹出当前python的路径,由于我之前编译过faster-rcnn,所以是我faster_rcnn的python接口
采用:
打开~/.bashrc文件:vi ~/.bashrc
在文件末尾输入:export PYTHONPATH=/home/nvidia(自己机器的名字)/caffe/python:$PYTHONPATH
然后在终端更新一下:source ~/.bashrc
最后可用echo $PYTHONPATH 查看当前路径是否为ssd路径。