在各路大神,同学,老师,学长指导下,总算安装上caffe,深感不易。在此谢过大家
参考文献
1,安装:https://blog.csdn.net/u010193446/article/details/53259294
2,十六进制和十进制[Warning] this decimal constant is unsigned only in ISO C90
https://bbs.csdn.net/topics/391892978?page=1
3,问题IOError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/dist-packag:
https://blog.csdn.net/u013709332/article/details/40357507
4,问题:Matplotlib is building the font cache using fc-list. This may take a moment解决办法
5,requirement 安装包问题:https://blog.csdn.net/pipisorry/article/details/39902327
6,语句sudo pip install -r requirements.txt
7,import caffe报错:https://blog.csdn.net/losteng/article/details/50809753
8,现象:make: Nothing to be done for 'pycaffe'.
9,语句sudo pip install -r requirements.txt
10,语句:/home/moqi/caffe/python:$PYTHONPATH
目录:
一,大神的安装方法
二,问题分析
CPU下安装caffe。参考文献1.堪称经典,贴出来:
一,大神的安装帖
Caffe安装教程:Ubuntu16.04(CPU)
本文是在新安装的Ubuntu16.04上进行Caffe的安装,每个版本的Ubuntu安装略有不同,请自行百度。
一、检查自己电脑是否具有GPU
通常Caffe在计算时有两种模式可以选择,CPU或GPU,使用GPU处理图像速度会更快,但往往有的计算机没有GPU,配置太低,所以只能选择CPU,作者的电脑不支持GPU,因此选择CPU安装的版本。
输入:
lspci | grep -i nvidia
结果1
如果未显示任何内容,则证明你的电脑不支持GPU。
结果2
如果显示如下图内容:
则表明版本是GTX 650,支持GPU,可以去http://developer.nvidia.com/cuda-gpus去验证,支持CUDA,本文只描述CPU模式的caffe安装,如果要安装GPU模式的caffe,请自行百度或Google。
二、依次安装依赖包
依次执行以下语句,安装依赖包:
sudo apt-get install libprotobuf-dev
sudo apt-get install libleveldb-dev
sudo apt-get install libsnappy-dev
sudo apt-get install libopencv-dev
sudo apt-get install libhdf5-serial-dev
sudo apt-get install protobuf-compiler
sudo apt-get install libgflags-dev
sudo apt-get install libgoogle-glog-dev
sudo apt-get install liblmdb-dev
sudo apt-get install libatlas-base-dev
- sudo apt-get install python-dev
- 这个我也安装了,但是他显示已经安装了
三、下载caffe
可直接使用Git下载caffe,如果没有Git,请先安装Git,作者新装的Ubuntu16.04没有Git,所以先安装Git,执行如下语句:
sudo apt-get install git
安装结束后下载caffe,执行以下命令:
git clone git://github.com/BVLC/caffe.git
这样你就可以在根目录下看到有个caffe目录了
四、编译caffe
1.进入caffe目录
cd caffe/
2.生成Makefile.config文件,这里是将caffe目录下自带的Makefile.config.example文件复制一份并更名为Makefile.config,命令如下:
cp Makefile.config.example Makefile.config
此时目录下就会有Makefile.config文件,如下图:
3.修改Makefile.config文件中的配置
1)编辑Makefile.config文件
sudo gedit Makefile.config
2)去掉CPU_ONLY前面的#号
使得CPU_ONLY := 1
同时把opencv=3这个前面的注释取消掉
3)配置引用文件路径(主要是HDF5的路径问题)
原来的路径配置如下图:
修改为如下图:
新增的内容为:
/usr/include/hdf5/serial
/usr/lib/x86_64-linux-gnu/hdf5/serial
4)执行编译
sudo make all
如果出现找不到lhdf5的时候,首先去检查你写在makefile.config的路径对不对,一定要检查。
sudo make test
sudo make runtest
执行玩runtest后,会有结果显示:
显示1098个用例执行成功,结果PASSED!
注意:如果执行结果失败,则需要执行语句sudo make clean
,然后解决掉问题重新编译
五、编译python接口
通常为了更好的调用caffe,我们往往需要写代码,caffe具有Python和C++接口,我们较为常用Python接口,这里我将展示如何编译Python接口。
1)安装pip
因为Ubuntu16.04默认安装的是python2.7,没有pip,所以需要先安装pip,命令如下:
sudo apt-get install python-pip
2)安装Python接口依赖库
在caffe根目录下,有个python文件夹,文件夹里面有个requirements.txt,里面有需要的依赖库和版本信息,按照其安装即可,在安装前,需要先安装fortran编辑器(gfrotran),因为安装scipy库时需要它,命令如下:
sudo apt-get install gfortran
cd ~/caffe/python
for req in $(cat requirements.txt); do pip install $req; done
安装结束后,可以执行如下语句验证:
sudo pip install -r requirements.txt
可以看到,安装成功的,都会显示Requirement already satisfied,没安装成功的,会继续进行安装。
3)将caffe根目录下的python文件夹加入到环境变量
先打开配置文件bashrc
sudo gedit ~/.bashrc
在文件的最后面添加
export PYTHONPATH=/home/moqi/caffe/python:$PYTHONPATH
如下图:
注意,这里路径根据每个人电脑则不一样,例如,我的下载的caffe在/home/moqi/下面,所以路径为/home/moqi/caffe/python,你可以自行进入自己的caffe文件夹里的python目录下,输入pwd查看路径。
然后执行更新配置(有时更新不起作用时,可以重启电脑就会有效):
sudo ldconfig
4)编译python接口
cd ~/caffe/
make pycaffe
如果make pycaffe之后提示权限不够,就先sudo make clean,然后,在使用sudo make caffe
5)验证python接口
进行python环境,引入caffe包,如果没有报错则安装成功!
如下图:
至此,caffe安装成功!
如果在使用import caffe之后,电脑上的光标变成十字形,就按下“alt+F4”
六、题外话
因为系统或者安装机器的不同,可能会出现一些不一样的问题,出现问题,请粘贴问题自行google或百度,都是有答案的,切忌眼高手低。
二,问题分析
(一)在安装依赖项的时候,还要安装
sudo apt-get install python-skimage
sudo apt-get install --no-install-recommends libboost-all-dev
(二)配置文件(这个很重要)
在配置路径的时候,我修改为:
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial /usr/lib/x86_64-linux-gnu/hdf5/serial/include /usr/local/lib/python2.7/dist-packages/numpy/core/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial
在各路大神,同学,老师,学长指导下,总算安装上caffe,深感不易。在此谢过大家
瞎改的,但是好用了
(三)编译
如果config文件有问题,那么第一步make -j8就会出现问题
注意:如果执行结果失败,则需要执行语句sudo make clean
,然后解决掉问题重新编译
1,[Warning] this decimal constant is unsigned only in ISO C90
网上有解决,感觉问题应该不大
2,如果那4条编译语句都执行完毕了,在make pycaffe会提示make: Nothing to be done for 'pycaffe'.
。不要慌,这是说已经编译过了
(四)添加环境变量
1,for req in $(cat requirements.txt); do pip install $req; done
执行这条语句很漫长,遇到错误:IOError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/dist-packag:
很多类似的错误
但是其实,后来的这句sudo pip install -r requirements.txt。把那些遗漏没有下载的文件,又重新登录那个网址给下载下来了。
2,在配置文件bashrc中写入的环境变量,一定要针对自己的电脑来写
进入自己的caffe文件夹里的python目录下,输入pwd查看路径。
3,
sudo ldconfig
是执行更新而皮质,但是我执行完,没有用。重启之后才有用的
(五)验证Python接口
python
import caffe
以上两句是在home下面输入的
如果在caffe,或者caffe/Python下面输入,会报错
Matplotlib is building the font cache using fc-list. This may take a momen