Ubuntu 18.04 64位 编译方式安装caffe-cpu
对于>16后的版本安装方式就简单很多了,官网给了很简单的几条命令
http://caffe.berkeleyvision.org/install_apt.html
----->但是我们今天用编译的方式安装,第一可以得到最新代码,第二可以看源码
依赖项
$ apt install -y libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
$ apt install -y --no-install-recommends libboost-all-dev
$ apt install -y libatlas-base-dev
$ apt insatll -Y python-dev
$ apt install -y libgflags-dev libgoogle-glog-dev liblmdb-dev
2.下载源码
$ git clone https://github.com/BVLC/caffe.git
$ cd caffe
$ cp Makefile.config.example Makefile.config
3修改 Makefile.config
去掉CPU_ONLY :=1的注释
注释掉CUDA有关的行:
#CUDA_DIR := /usr/local/cuda
#CUDA_DIR := /usr
#CUDA_ARCH := ....
#TEST_GPUID := 0
去掉WITH_PYTHON_LAYER := 1的注释
修改这一行:
# Whatever else you find you need goes here.
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 /usr/lib/x86_64-linux-gnu/hdf5/serial
4.修改 Makefile
sudo gedit Makefile
将下图中的框起来的部分改成
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial
5.修改完成后编译,依次执行
make all
make test
make runtest
没有错误就是编译成功!
6.如果需要编译python接口,请编译pycaffe,执行:
make pycaffe
7.将caffe导入到环境变量
export PYTHONPATH=/home/cuibixuan/git/caffe/python/
如下:
vim ~/.bashrc //bashrc
添加:
export PYTHONPATH=~/caffe/python //caffe的路径下面的python
source ~/.bashrc //使环境变量生效
8.验证
备注:可能会疑惑为啥是python 2.7 。
原因有:在修改configure文件时我们没有注释掉python=2.7的代码,这样编译默认就是pythonn=2.7。
原因有:当然也有可能是我们用了 insatll python-dev ?
上面是哪种原因?下次解答。
9.可能会遇到的报错:
(1)
解决办法:
方法1.直接安装模块 numpy
suod apt-get install python-numpy(亲测有效)
方法2.命令行输入进python
(2)ImportError: 'No module named skimage.io'
sudo apt-get install python-skimage
安装skimage包即可
(3)ImportError: No module named google.protobuf.internal
sudo apt-get install python-protobuf
参考:作用依次减弱
https://blog.csdn.net/Y_AOZHEN/article/details/84137377
https://mp.weixin.qq.com/s/H2OtM5xXrZ1aUvG-uZ4dvQ
https://www.linuxidc.com/Linux/2019-05/158422.htm