背景
调研ncnn的过程中,发现ncnn使用的模型可以使用caffe训练,而且是首选。(tensorflow的训练模型,在现有的版本中竟然不支持转换)
环境搭建
准备编译环境
linux版本为Ubuntu 18(深度学习很多都是Ubuntu上面搞,怪怪的换到这上面来吧)
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler libgflags-dev libgoogle-glog-dev liblmdb-dev libgflags-dev libgoogle-glog-dev libatlas-base-dev -y
sudo apt-get install --no-install-recommends libboost-all-dev -y
安装hdf5,参考:https://blog.csdn.net/weixin_40255337/article/details/84256604
安装git(注:caffe的release版本不要使用,在mac上出现了不少编译问题,可以考虑使用master最新的)
sudo apt-get install git
安装protobuf,参考:https://github.com/protocolbuffers/protobuf/blob/master/src/README.md
下载代码
- 下载master版本
git clone http://github.com/BVLC/caffe.git
注意:caffe最好是用新的版本,老版本(甚至是release的版本)可能存在支持库的兼容问题
编译caffe执行程序
下面要进行makefile编译,需修改他的配置文件。
cd caffe
cp Makefile.config.example Makefile.config
vi Makefile.config
下面是修改项
CPU_ONLY := 1 (解开注释)
OPENCV_VERSION := 3 (解开注释)
找到INCLUDE_DIRS和LIBRARY_DIRS,进行如下修改
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial (添加最后这个hdf5的路径)
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial (添加最后这个hdf5的路径)
开始编译caffe执行程序
make all
make test
make runtest
编译pycaffe
sudo apt-get install python-pip
sudo apt-get install python-numpy
cd ~/caffe/python
for req in $(cat requirements.txt); do pip install $req; done
pip install -r requirements.txt
修改环境变量
Vi ~/.bashrc
export PYTHONPATH=/home/your/path/caffe/python:$PYTHONPATH
编译pycarffe
cd ~/caffe/
make pycaffe
参考
https://blog.csdn.net/qq_30683995/article/details/80384792