ubuntu18.04安装caffe-cpu版

我用的是python3.6,ubuntu18.04,caffe使用的cpu版本

1.安装依赖包

后记:这里一定要注意先把apt-get源和pip的源更换成国内源,防止网络问题下载失败。

另外,即使修改了国内源,也要检查在每条sudo apt-get命令执行完后,是否有下载安装失败的提示。

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 #这里可能出错,不要紧先这么做

sudo apt-get install python3-dev

sudo apt-get install libatlas-base-dev

sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

sudo apt-get install python3-opencv

2.下载caffe

git clone git://github.com/BVLC/caffe.git

3.修改caffe下文件Makefile.config

cd caffe //切换到caffe所在文件夹
cp Makefile.config.example Makefile.config //备份Makefile.config文件
gedit Makefile.config //编辑Makefile.config文件
/***修改 Makefile.config***/
/*

1. 去掉CPU_ONLY :=1的注释
2. 注释掉CUDA有关的行:
#CUDA_DIR := /usr/local/cuda
#CUDA_DIR := /usr
#CUDA_ARCH := ....
#TEST_GPUID := 0
3. 去掉WITH_PYTHON_LAYER := 1的注释
4. 修改这一行:
   修改原因 :在安装hdf5的使用使用的是 sudo apt-get libhdf5-serial-dev
# 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

*/

在Makefile.config文件中, 除了教程中要注释的CUDA相关的行,另外

我取消注释了

CPU_ONLY :=1

OPENCV_VERSION :=3

并且做了如下改动:

注释掉了2.7的include路径

# PYTHON_INCLUDE :=/usr/include/python2.7\

转而使用了python3.6

PYTHON_LIBRARIES := boost_python3 python3.6m

PYTHON_INCLUDE :=/usr/include/python3.6m \

#                                /usr/lib/python3.6/dist-packages/numpy/core/include

4.修改caffe下文件Makefile

gedit Makefile 

/*

opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs
后面加入 opencv_imgcodecs

找到
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

修改原因 :在安装hdf5的使用使用的是 sudo apt-get libhdf5-serial-dev
*/

如果出现找不到:hdf5_serial_h1,则不需要修改LIBRARIES, 保持原样就行了

5.编译caffe

//遇到错误时,需要重新编译,则先make clean
make all
Make test
make runtest

6.安装pycaffe

6.1安装

后记:这里一定要注意先把apt-get源和pip的源更换成国内源,防止网络问题下载失败。

另外,即使修改了国内源,也要检查在每条sudo apt-get命令执行完后,是否有下载安装失败的提示。

Cython>=0.19.2
numpy>=1.7.1
scipy>=0.13.2
scikit-image>=0.9.3
matplotlib>=1.3.1
ipython>=3.0.0
h5py>=2.2.0
leveldb>=0.191
networkx>=1.8.1
nose>=1.3.0
pandas>=0.12.0
python-dateutil>=1.4,<2
protobuf>=2.5.0
python-gflags>=2.0
pyyaml>=3.10
Pillow>=2.3.0
six>=1.1.0.

安装以上依赖库
cd caffe/python
for req in $(cat requirements.txt); do pip install $req; done


或者
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 install protobuf-c-compiler protobuf-compiler

6.2添加 PYTHONPATH

sudo gedit /etc/profile
export PYTHONPATH=$PYTHONPATH:/home/XXX/caffe/python:$PYTHONPATH   # xxx为用户名
使上述更改生效
source /etc/profile

6.3编译

cd ~/caffe
make pycaffe

6.4测试

python3
import caffe
//按ctrl+d可退出python

7.问题汇总:

若测试时没有找到caffe模块,那么需要把caffe/python添加到系统路径中去,如下:

import sys #引入sys模块
sys.path   #显示当前系统包含的路径信息
sys.path.append("/home/xxx/caffe/python") #将你下载的caffe文件夹内的python添加到系统路径

#sys.path.insert(0, "/home/xxx/caffe/python") 也是可以的
添加caffe/python到系统路径

 

若遇到   fatal error: boost/shared_ptr.hpp: 没有那个文件或目录,出现该错误的原因是少了依赖,所以执行:

sudo apt-get install --no-install-recommends libboost-all-dev

若遇到:如果在安装过程中出现无法定位软件包问题则执行:

sudo apt-get update

若出现找不到:hdf5_serial_h1,则不需要在 ( 4.修改caffe下文件Makefile)小节中修改  LIBRARIES, 保持原样就行了

 

若编译失败,可以尝试删除caffe然后从第1步重来,或者删除你修改的Makefile.config文件,重新修改

  • 另外,由于之前安装opencv3.4.10了导致和libopencv-dev的版本是3.2所以产生了冲突,导致caffe编译失败,这里只需要先把opencv3.4卸载掉,先安装caffe即可
  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值