分享3:ubuntu安装Caffe,及相关安装错误的解决
现在很多同学都用着python一类的框架,例如Google的Tensorflow、Facebook的Pytorch、Amazon的MXNet等,而不愿意学习caffe,其实在做图像这一块,还是caffe比较的友好,知道大家都嫌caffe编译起来麻烦,其实caffe的编译安装真的很简单,接下来我就来分享一下安装caffe的过程
环境介绍:
笔者的环境是:
ubuntu16.04
cuda8.0
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 libopenblas-dev liblapack-dev libatlas-base-dev sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev sudo apt-get install git cmake build-essential
- 下载caffe
在安装路径下clone,一般默认会安装在home文件加下,文件夹名称为caffe.
笔者就是放在home路径下的
clone地址如下:
git clone https://github.com/BVLC/caffe.git
- 修改 Makefile.config文件
cd caffe sudo cp Makefile.config.example Makefile.config
复制一份的原因是编译 caffe 时需要的是 Makefile.config 文件,而Makefile.config.example 只是caffe 给出的配置文件例子,不能用来编译 caffe
然后修改 Makefile.config 文件,在 caffe 目录下打开该文件:
sudo gedit Makefile.config
修改 Makefile.config 文件内容:
使用 cudnn
将#USE_CUDNN := 1 修改成: USE_CUDNN := 1
应用 opencv 且版本是3的
将#WITH_PYTHON_LAYER := 1 修改为 WITH_PYTHON_LAYER := 1
修改 python 路径:
#Whatever else you find you need goes here. 下面的 INCLUDE_DIRS:= $(PYTHON_INCLUDE) /usr/local/include LIBRARY_DIRS:= $(PYTHON_LIB) /usr/local/lib /usr/lib 修改为: INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/include/hdf5/serial /usr/local/include LIBRARY_DIRS := $(PYTHON_LIB) /usr/lib/x86_64-linux-gnu/hdf5/serial /usr/local/lib /usr/lib
修改cuda,笔者为cuda8.0,从下面的介绍信息可以看到,cuda<8.0的需要将60和61删除,大家根据自己的cuda版本来删除对应的
# CUDA architecture setting: going with all of them. # For CUDA < 6.0, comment the *_50 through *_61 lines for compatibility. # For CUDA < 8.0, comment the *_60 and *_61 lin Makefile.config es for compatibility. # For CUDA >= 9.0, comment the *_20 and *_21 lines for compatibility. CUDA_ARCH :=-gencode arch=compute_20,code=sm_20 \ -gencode arch=compute_20,code=sm_21 \-gencode arch=compute_30,code=sm_30 \ -gencode arch=compute_35,code=sm_35 \ -gencode arch=compute_50,code=sm_50 \ -gencode arch=compute_52,code=sm_52 \ -gencode arch=compute_60,code=sm_60 \ -gencode arch=compute_61,code=sm_61 \-gencode arch=compute_61,code=compute_61
因为笔者的cuda版本为8.0所以,笔者这里删除了60和61,结果如下
# CUDA architecture setting: going with all of them. # For CUDA < 6.0, comment the *_50 through *_61 lines for compatibility. # For CUDA < 8.0, comment the *_60 and *_61 lines for compatibility. # For CUDA >= 9.0, comment the *_20 and *_21 lines for compatibility. CUDA_ARCH :=-gencode arch=compute_20,code=sm_20 \ -gencode arch=compute_20,code=sm_21 \-gencode arch=compute_30,code=sm_30 \ -gencode arch=compute_35,code=sm_35 \ -gencode arch=compute_50,code=sm_50 \ -gencode arch=compute_52,code=sm_52 \ -gencode arch=compute_61,code=compute_61
- 修改Makefile文件
sudo gedit Makefile
将: 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
- 编译
make all
make test
make runtest
make pycaffe -j8
6. 测试
ctrl+alt+t 打开命令行
输入
python
再继续输入
import caffe
如果出现以下情况则表明安装成功:
- 容易出错的地方一:
这一步错误的原因是,我们在编译之前修改 Makefile.config时,没有修改正确,应该根据提示进行修改:
# CUDA architecture setting: going with all of them. # For CUDA < 6.0, comment the *_50 through *_61 lines for compatibility. # For CUDA < 8.0, comment the *_60 and *_61 lines for compatibility. # For CUDA >= 9.0, comment the *_20 and *_21 lines for compatibility. CUDA_ARCH :=-gencode arch=compute_20,code=sm_20 \ -gencode arch=compute_20,code=sm_21 \-gencode arch=compute_30,code=sm_30 \ -gencode arch=compute_35,code=sm_35 \ -gencode arch=compute_50,code=sm_50 \ -gencode arch=compute_52,code=sm_52 \ -gencode arch=compute_60,code=sm_60 \ -gencode arch=compute_61,code=sm_61 \-gencode arch=compute_61,code=compute_61
例如:你的CUDA版本小于6.0删除如下两行:
-gencode arch=compute_50,code=sm_50 \ -gencode arch=compute_61,code=sm_61 \
如果你的CUDA版本小于8.0则删除如下两行:
-gencode arch=compute_60,code=sm_60 \ -gencode arch=compute_61,code=sm_61 \
如果你的CUDA版本小于9.0则删除如下两行:
-gencode arch=compute_20,code=sm_20 \ -gencode arch=compute_20,code=sm_21 \
- 容易出错的地方二:
./include/caffe/util/hdf5.hpp:7:18: fatal error: hdf5.h: No such file or directory
In file included from src/caffe/solvers/sgd_solver.cpp:5:0: ./include/caffe/util/hdf5.hpp:7:18: fatal error: hdf5.h: No such file or directory compilation terminated. Makefile:591: recipe for target '.build_release/src/caffe/solvers/sgd_solver.o' failed make: *** [.build_release/src/caffe/solvers/sgd_solver.o] Error
发现是依赖出问题了,我已经安装了hdf5了
修改Makefile.config
sudo gedit Makefile.config
修改如下:
# Whatever else you find you need goes here. INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/include/hdf5/serial /usr/local/include LIBRARY_DIRS := $(PYTHON_LIB) /usr/lib/x86_64-linux-gnu/hdf5/serial /usr/local/lib /usr/lib
总结:
到这里安装就结束了,看得出来,安装caffe的过程不是太复杂,知道大家跟着我的步骤来,基本上都能安装成功!!
有什么问题欢迎交流:1017190168
- ubuntu1404下安装caffe及配置python接口pycaffe遇到的各种错误的解决方法
- [第二步]在NanoPi NEO UbuntuCore下安装homebridge(相关错误解决,希望能帮到同样遇到这些问题的朋友)
- How to install cmake 3.2 on ubuntu 14.04? caffe安装错误的解决
- Ubuntu下安装PostgreSQL出现服务器工具未安装错误的解决
- 如何解决在Ubuntu下GoAgent访问Youtube,Google相关站点SSL错误
- ubuntu 9.10安装mysql 5.1错误解决
- VirtualBox 安装 ubuntu 出现This kernel requires an X86-64 CPU,but only detected an i686 CPU错误的解决办法
- ubuntu源码编译安装php常见错误解决办法
- 在 Ubuntu 7.04 上安装 VirtualBox 可能会遇到的错误问题的解决!
- 在Ubuntu安装完成后更改默认的语言LANG,出现Cannot set LC_CTYPE to default locale: No such file or directory错误的解决办法
- 解决Win7系统下SqlServer2008安装过程中提示Config.Msi相关错误的问题
- 帮您安装调试成功VS2008平台下的Directshow 及基于directshow的相关项目基础配置错误解决
- ubuntu下安装virtualbox 错误及解决办法
- 针对ubuntu 14.04-64 位安装skyeye环境出现错误的解决
- ubuntu安装openssh-server 报依赖错误的解决过程
- 【已解决】安装Ubuntu时怎样分区--利用EasyBCD在win7下进行ubuntu安装(双系统)时遇到报错:没有根文件系统,请回到分区菜单以修正此错误
- ubuntu14.04 安装openssh-server 报依赖错误的解决过程
- 安装Ubuntu时,解决盘符顺序错乱引起的引导错误
- Ubuntu 安装时(initramfs) Unable to find a medium containing a live file system错误的解决
- Ubuntu 10.04 LTS 安装 sun-java6-jdk 错误解决办法