最近又装了caffe,跑了ssd,记录一下:
1. 安装依赖项
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
2. 安装BLAS
sudo apt-get install libatlas-base-dev
3. 安装 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
4. 安装其他依赖项
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
5. 安装Git
sudo apt-get install git
6. 安装SSD
git clone https://github.com/weiliu89/caffe.git
cd caffe
git checkout ssd
如果出现“分支”则说明copy-check成功
7. 配置Caffe
cd /home/nvidia/caffe
cp Makefile.config.example Makefile.config
修改Makefile.config:
gedit Makefile.config
USE_CUDNN := 1
CUDA_DIR := /usr/local/cuda-9.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
把Makefile.config中CUDA_ARCH中的前两行去掉(匹配cuda9.0的计算能力)
修改Makefile:
gedit 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
8. 编译caffe
cd /home/nvidia/caffe
mkdir build
cd build
cmake ..(cmake和..中间有一个空格,..不能省略)
make all -j4("‐j4"是使用 CPU 的多核进行编译,可以极大地加速编译的速度)
make install
make runtest(这一步不是必须的)
make pycaffe(编译pycaffe)
9. 修改路径
我在导入caffe模块时出错了:ImportError: No module named caffe.proto
需要修改路径(在终端输入):
export PYTHONPATH=/home/nvidia/caffe/python:$PYTHONPATH
之后也可以查看当前路径是否为ssd路径:
echo $PYTHONPATH
10. 查看Caffe
python
import caffe
11. 如果出现警告:UserWarning: Matplotlib is building the font cache using fc-list. This may take a moment
这种情况也不要紧,可用下面命令消除(终端Python环境下):
python
import matplotlib
matplotlib.use('TkAgg')
12. 简单跑了一个小程序
参考: