1 安装所需要的依赖包
1.1 install protobuf, leveldb, snappy, opencv, hdf5, protobuf compiler and boost:
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
1.2 install dependencies, the commands below install gflags, glogs ,lmdb and atlas:
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
sudo apt-get install libatlas-base-dev
2 配置python
先执行命令:sudo apt-get install python-numpy python-scipy python-matplotlib python-sklearn python-skimage python-h5py python-protobuf python-leveldb python-networkx python-nose python-pandas python-gulags Cython ipython
执行完命令后,可以检查一下,安装是否成功。输入python回车后,进入python shell模式,输入import numpy(其它包依此类推)检查numpy是否安装正常,不报错即可继续。
执行python代码时,出现“File "numpy/coretup.py", line 269, in check_types
"Cannot compile 'Python.h'. Perhaps you need to "
SystemError: Cannot compile 'Python.h'. Perhaps you need to install python-dev|python-devel.”即找不到Python.h文件,需要安装numpy所需的依赖(包括python.h(在python-devel中)):apt-get build-dep python-numpy
3 安装Caffe
3.1 下载Caffe
3.2 编译Caffe
make all
make pycaffe
make distribute
3.3 修改环境路径
在~/.bashrc中添加内容如下:
#caffe
export PYTHONPATH=$PYTHONPATH:/usr/caffe/python
export PYTHONPATH=$PYTHONPATH:/usr/caffe/python/caffe
3.4 测试
Ceshi.py:
import caffe
import sys
sys.path.append("/home/zk/usr/caffe/python")#python接口路径
编译Ceshi.py通过,说明大功告成,可以开始DP之旅了。
make all
CXX/LD -o .build_release/tools/convert_imageset.bin
.build_release/lib/libcaffe.so: undefined reference to cv::imread(cv::String const&, int)'.build_release/lib/libcaffe.so: undefined reference to
cv::imencode(cv::String const&, cv::_InputArray const&, std::vector >&, std::vector > const&)'
.build_release/lib/libcaffe.so: undefined reference to `cv::imdecode(cv::_InputArray const&, int)'
collect2: error: ld returned 1 exit status
make: *** [.build_release/tools/convert_imageset.bin] Error
Added LIBRARIES += glog gflags protobuf leveldb snappy \lmdb boost_system hdf5_hl hdf5 m \opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs
to Makefile.config
I used make clean
instead of rm -rf ./build
Then did make all
and everything worked fine.
can not find module skimage.io
此时只要按照以下命令操作即可:
$ sudo apt-get install 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 update
在caffe-master目录下:
$ make pycaffe
然后在命令行输入python;再输入import caffe就可以成功啦。
经过一番折腾,问题终于找到了。首先定位错误文件caffe_pb2.py,我比较了以前版本的caffe_pb2.py和新生成的caffe_pb2.py,发现新的caffe_pb2.py发现多了一行
- from google.protobuf import symbol_database as _symbol_database
最新protobuf:https://github.com/google/protobuf
cd 到protobuf/python 文件夹下,依次执行,下面三个命令:
- python setup.py build
- python setup.py test
- pyton setup.py install