1.安装caffe依赖包
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 libgflags-dev libgoogle-glog-dev liblmdb-dev
sudo apt-get install libatlas-base-dev
2.安装caffe python3接口
sudo apt install python3-pip #安装pip工具。
sudo apt install python3-numpy #解决后面编译无法找到numpy错误。
sudo apt-get install gfortran #安装依赖文件
sudo pip3 install matplotlib#解决后面import caffe报错
ubuntu系统默认是python2.7版本,若使用python3需在下载安装包时使用python3。例如(python2已经很久没有更新,建议使用python3)
使用默认python下载numpy :
sudo apt install numpy
指定python3下载numpy :
sudo apt install python3-numpy
同样,在终端输入python默认查看的是python2的版本号,输入python3则是查看python3的版本号,因为ubuntu16.04可能同时有安装python2和python3,如果没有则需自行安装,终端直接输入可查看python版本号(Ctrl+Alt+T打开终端)
3.安装git
sudo apt-get install git
4.安装caffe
下载caffe:
git clone http://github.com/BVLC/caffe.git
进入到caffe目录下:
cd caffe/
拷贝一个Makefile.config副本:
修改Makefile.config文件:
sudo gedit Makefile.config
(1)去掉CPU_ONLY := 1前面的#号
(2)原来的路径配置:
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
修改为(解决如果不修改出现的找不到hdf5相关文件的问题):
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/hdf5/serial
使用python3还需要做如下修改,将PYTHON_INCLUDE python2的注释掉,取消python3的注释
#python2
#PYTHON_INCLUDE := /usr/include/python2.7 \
# /usr/lib/python2.7/dist-packages/numpy/core/include
#python3
PYTHON_LIBRARIES := boost_python3 python3.5m
PYTHON_INCLUDE := /usr/include/python3.5m \
/usr/lib/python3/dist-packages/numpy/core/include
注意:最好确认一下PYTHON_INCLUDE 中文件夹是否存在,如果不存在可能在别的文件夹下,则需要做调整,比如numpy路径可能为
/usr/lib/python3.5/dist-packages/numpy/core/include
保存退出。
5.编译caffe:
编译caffe,make默认单核运算,-j2表示双核(-j4四核,-j8八核),可加快编译速度,根据自己实际情况修改。
sudo make all -j2
sudo make test -j2
sudo make runtest -j2
注意:如果执行结果失败,则需要执行语句,然后解决掉问题重新编译
插曲:
(如何将默认的python版本由python2切换到python3):
(此步骤不需要执行,了解就行)
安装完python3,系统默认还是python2.7,如果想切换到python3
切换到/usr/bin目录下,然后查看所有可用的python版本
cd /usr/bin
ls |grep python
查看默认python版本(我已经切换过,所以是python3)
切换python版本
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.5 1
sudo update-alternatives --list python
sudo update-alternatives --config python
(此步不需要进行操作)
6.安装Python接口依赖库
在caffe根目录下,有个python文件夹,文件夹里面有个requirements.txt,里面有需要的依赖库和版本信息,按照其安装即可
cd~/caffepip3 install -r python/requirements.txt
将caffe根目录下的python文件夹加入到环境变量:
先打开配置文件bashrc:
sudogedit ~/.bashrc
在文件的最后添加:
exportPYTHONPATH=/home/chen/caffe/python:$PYTHONPATH
注意:这里的路径每个人电脑都不一样,例如,我下载的caffe在/home/chen/下面,所以路径为/home/chen/caffe/python
然后执行更新配置(有时更新不起作用时,可以重启电脑就会有效)
sudoldconfig
编译python接口:
cd ~/caffe/
sudo make pycaffe -j2
5.验证python接口:
进入python环境,导入caffe包,如果没有报错则安装成功,如果报错可能之前添加环境变量后配置没有更新成功,重启电脑后,重新导入应该就可以了。
终端输入
python3
import caffe
其他问题:
1.解决`/usr/bin/ld: cannot find -lboost_python3` 错误
sudo ln-s/usr/lib/x86_64-linux-gnu/libboost_python-py35.so /usr/lib/x86_64-linux-gnu/libboost_python3.so
2.若import caffe时遇到错误最后面是:
raise ValueError,"Can't create weekday with n == 0"
SyntaxError:invalid syntax
执行下面命令可以解决:
pip3 install python-dateutil --upgrade
3.make:Nothing tobe done for 'pycaffe.'
解决:sudo make clean
sudo make all
sudo make test
sudo make runtest
sudo make pycaffe
4.过程中若有遇到 Permission denied 的错误
则使用 :sudo chmod -R 777 某一目录
(将文件权限设置到最高级)
执行任何命令时若遇到权限问题,一般先在命令前加上sudo
备注:
1.查看opencv的版本:
pkg-config --modversion opencv
2.查看python安装路径:
1).终端输入 python,进入当前python环境
2).输入以下命令查看当前python安装路径:
import sys
print(sys.executable)
3.重新绑定python
进入python安装路径,假如是:usr/bin
输入如下命令:
cd /usr/bin
sudo rm python
sudo ln -s python3 python
此时python版本变为python3
4.升级
pip3 install --upgrade 要升级的包名
5.使环境变量生效
source ~/.bashrc
6.检查自己电脑是否具有GPU
lspci | grep -i nvidia
如果未显示任何内容,则证明你的电脑不支持GPU
参考链接:
领取专属 10元无门槛券
私享最新 技术干货