转自网址:https://blog.csdn.net/itbiggod/article/details/79543993
了解到的环境:Ubuntu16.04 + CPU(Only)+ Inter显卡
1. 查看本机电脑配置与电脑的GPU版本:
系统:Ubuntu 16.04 命令:lspci | grep -i vga
也可以使用 lshw 命令来获取上述信息:
命令:
lshw -C display
类似如下输出:
VGA compatible controller: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06)
2.显卡驱动名称:
命令:
sudo lshw -c video | grep configuration
上图中可以看到输出的显卡驱动名称有两条,其中一条为 driver=i915,存在于本地文件中。
3.检查显卡驱动:modinfo i915
发现显卡是因特尔的显卡,而不是英伟达的显卡程序。
|
2.下载显卡驱动:
a. 如果你是英伟达显卡,可以使用NVIDIA的GPU来跑cafe。
官网: http://www.nvidia.cn/object/unix-cn.html
去显卡官网根据自己的显卡版本而下载对应的显卡驱动。
安装参考地址: http://www.linuxidc.com/Linux/2016-12/138870.htm
b. 如果你是英特尔显卡,就使用intel的CPU跑caffe的,需要确保你自己的显卡驱动是安装好的。
3.安装依赖库:
下面开始正文,安装caffe开始。 终端切换到root权限: ``` sudo su root ``` 然后依次安装: ``` apt-get install libprotobuf-dev apt-get install libleveldb-dev apt-get install libsnappy-dev apt-get install libopencv-dev apt-get install libhdf5-serial-dev apt-get install protobuf-compiler apt-get install --no-install-recommends libboost-all-dev ```由于我只有CPU,所以跳过CUDA相关的安装;
接下来是BLAS:
apt-get install libatlas-base-dev
- 1
使用默认Python来建立pycaffe接口,需要安装:
apt-get install python-dev
- 1
一些兼容性依赖库:
apt-get install libgflags-dev
apt-get install libgoogle-glog-dev
apt-get install liblmdb-dev
- 1
- 2
- 3
4.克隆(下载)Caffe源码:
没有安装git的话需要先装一下git: 命令:apt-get install git
下载Caffe源码:
命令:
git clone https://github.com/BVLC/caffe.git
如图:
配置Caffe的Python接口,
终端切换到caffe下的python目录下,
输入以下命令下载python依赖库(先安装pip):
apt-get install python-pip
for req in $(cat requirements.txt); do pip install $req; done
- 1
- 2
5.修改配置文件Makefile.config:
终端进入到caffe目录下: 拷贝一份Makefile.config.example并重命名成Makefile.config, 命令: ``` cp Makefile.config.example Makefile.config ``` ![这里写图片描述](//img-blog.csdn.net/20180313173945523?watermark/2/text/Ly9ibG9nLmNzZG4ubmV0L0lUQmlnR29k/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)修改该配置文件:
命令:
sudo gedit Makefile.config
- 1
因为这里没有配置GPU,所以去掉CPU_ONLY := 1前面的注释;
注意!!!由于Ubuntu16.04文件结构的变化,#Whatever else you find you need goes here.处要改成下面这样:这里也是很多以前老版本的教程中没改正的地方。
# 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/hdf5/serial
- 1
- 2
- 3
还需要注意的就是:如果你在make pycaffe的时候,
报错和numpy相关,则重新打开Makefile.config目录,然后在自己电脑上查找一下numpy的安装目录,需要保证numpy的路径是对应上:
# We need to be able to find Python.h and numpy/arrayobject.h.
PYTHON_INCLUDE := /usr/include/python2.7 \
/usr/lib/python2.7/dist-packages/numpy/core/include
- 1
- 2
- 3
对应本地:
6.编译caffe源代码:
完成修改文件以后就可以开始编译: 依次命令: ``` make pycaffe make all make test make runtest ``` make默认单核运算,如果想加快速度,我这里是4核,可以在每条命令后面加上-j4,如果有报错,建议最好make clean重新开始。 如果所有测试都通过,则说明安装好了。 效果图: make pycaffe ![这里写图片描述](//img-blog.csdn.net/20180313174242568?watermark/2/text/Ly9ibG9nLmNzZG4ubmV0L0lUQmlnR29k/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)Make all:
Make test:
make默认单核运算,如果想加快速度,可以在命令后加上-jx
电脑是几核,就可以在每条命令后面加上-jx,
比如:make all -j8
注意,在编译环节,如果一旦有报错,最好make clean,然后再重新开始编译。
如果所有测试都通过,则说明安装好了。
Make runtest:
7.测试Python接口:
终端进入到caffe/python文件目录下, 输入以下命令: ``` export PYTHONPATH=/path/to/caffe/python:$PYTHONPATH ``` 然后在输入命令: ``` python import caffe ``` 如图: ![这里写图片描述](//img-blog.csdn.net/20180313174451452?watermark/2/text/Ly9ibG9nLmNzZG4ubmV0L0lUQmlnR29k/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70) 如果没有报错,证明安装成功 但是上面路径设置方法,是一旦关闭终端或者打开新终端则失效。下面直接把环境放到配置文件中,可以永久有效。
命令:
sudo gedit ~/.bashrc
- 1
打开编辑,在最后一行加入语句:
export PYTHONPATH=/你的路径/caffe/python:$PYTHONPATH
- 1
保存退出。
然后继续在终端下输入:
source ~/.bashrc
使环境变量生效,然后关闭终端,去进入到python环境下,测试import caffe,没有报错则永久设置成功。
如图:
上面就是安装整个caffe的过程。
补充:
1.安装pip指令: sudo apt install python-pip ![这里写图片描述](//img-blog.csdn.net/20180313174711828?watermark/2/text/Ly9ibG9nLmNzZG4ubmV0L0lUQmlnR29k/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)2.查看caffe配置的是哪个版本的python接口:
由于linux自带安装的有python2.7和Python3.5两个版本。
配置caffe的Python接口以后,有人不知道是哪个版本生效了?
命令:
import sys
sys.path
可以看见python2下安装的各种库。
然后再打开caffe文件夹下的makefile.config 里面可以看到是python2.7生效,所以对应的应该是python2.7版本。
3.import caffe失败:
参考第5步.配置环境变量那里,需要确保路径都是添加了,而且是正确的。
4.安装numpy命令:
python3的:sudo apt-get install python3-numpy
python2的:sudo apt-get install python-numpy
8、参考文献
官网教程,附上链接: https://github.com/BVLC/caffe/wiki/Ubuntu-16.04-or-15.10-Installation-GuideYou got a dream, you gotta protect it.
如果你有梦想的话,就要去捍卫它 。 ——《当幸福来敲门》