Ubuntu环境(win7_64_ultimate+Ubuntu16.04)
1.建议首先更新一下源和软件
sudo apt-get update #更新软件列表
sudo apt-get upgrade #更新软件
sudo apt-get install build-essential #安装build-essential
2.下载安装必要的依赖包(以下仅针对16.04,其他请参考官网介绍)
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler libgflags-dev libgoogle-glog-dev liblmdb-dev
sudo apt-get install --no-install-recommends libboost-all-dev
BLAS:sudo apt-get install libatlas-base-dev
Python (可选): sudo apt-get install python-dev
3.下载Caffe源码
先将路径转入到你想放置的目录下
sudo git clone https://github.com/BVLC/caffe.git
cd caffe
sudo cp Makefile.config.example Makefile.config
注:没有安装git的,先安装 sudo apt-get install git
4.修改Makefile.config
先打开文件:sudo gedit Makefile.config
打开仅CPU模式(不支持GPU):找到 CPU_ONLY := 1 将前面的注释'#'去掉,点击右上角Save保存,关闭窗口。
5.编译
make all -j4 ,'-j'代表使用多线程编译,还可指定数字,如 -j8
make test
make runtest
6.若要使用系统默认的Python高级接口(官网推荐使用anaconda)
(1)下载安装包及依赖包
sudo apt-get install python-pip python-dev python-numpy
sudo pip install -r ${CAFFE_ROOT}/python/requirements.txt
sudo pip install pydot
(2)编译pycaffe
cd ${CAFFE_ROOT}
make clean
make all -j4
make pycaffe
(3)设置环境变量
sudo gedit /etc/profile #打开文件
export PYTHONPATH=${CAFFE_ROOT}/python:$PYTHONPATH #添加到文件中
source /etc/profile #生效设置
7.编译过程出现的问题:
(1)../include/caffe/util/hdf5.hpp:6:18: fatal error: hdf5.h: 没有那个文件或目录
解决方法:
修改Makefile.config需要修改的内容:
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
注:参考链接
(2)对‘cv::imread(cv::String const&, int)’未定义的引用
解决方案:
修改Makefile.config需要修改的内容:
由于我安装了opencv3,所以要打开相应选项,即将OPENCV_VERSION := 3前面的注释去掉;如果仍然有问题可尝试将USE_PKG_CONFIG := 1前面的注释去掉。
如果没有OPENCV_VERSION := 3选项,说明你使用的是老版本,去makefile文件中LIBRARIES += glog ...后面添加一项opencv_imgcodecs
make clean(如果编译出错,在下一次编译之前记得clean一下)
重新 make all
注:参考链接
Windows环境(win7_64_ultimate+Visual Studio 2013)
方案一 官网提供的安装包(make过程中依赖文件下不下来,暂未成功)
1.安装必要的软件
CMake 3.4及以上 安装完成之后记得添加环境变量
Git(官网下载可能会出现失败的问题,也可以尝试到百度软件中心下载历史版本),安装完成之后记得添加环境变量,如:
E:\Program Files (x86)\Git\bin
E:\Program Files (x86)\Git\mingw32\libexec\git-core
Python2.7(VS2013好像不支持其他版本,3.6亲测不可用) 由于官方推荐使用 Python 发行版Anaconda or Miniconda,且官网下载速度极慢,我这给一个国内下载镜像
安装好之后在Anaconda Prompt执行conda install --yes numpy scipy protobuf==3.1.0 six scikit-image pyyaml pydotplus graphviz matplotlib
2.下载源码
打开cmd(命令提示符),执行以下操作:
cd /d E:\Program Files # 更改安装路径
git clone https://github.com/BVLC/caffe.git
cd caffe
git checkout windows
根据自己主机的环境对build_win.cmd参数进行设置(在cmd中输入 set *** 即可),下面是我根据自己环境所要设置的默认参数:
set MSVC_VERSION=12 #对应VS2013的版本
set WITH_NINJA=0 #使用 Visual Studio Generator
set CPU_ONLY=1 #仅使用CPU模式
以下命令可选
set PYTHON_VERSION=2 #选择自己对应版本
#不构建Python高级接口
set BUILD_PYTHON=0
set BUILD_PYTHON_LAYER=0
注:cmd中 更改路径操作常用命令 当前盘符 cd ROOT ; 不同盘符 cd /d ROOT ; 单切换盘符 如d: ;上一级目录 cd .. ;根目录 cd \ ;Tab键 自动补全 等等
方案二 微软提供的安装包
1.配置属性文件
在源码中找到属性配置文件,路径:caffe\windows\CommonSettings.props.example ,复制一份改名为CommonSettings.props放在同一文件夹,根据自身需求对其参数进行修改:
#仅使用CPU
set CpuOnlyBuild to true
set UseCuDNN to false
set PythonSupport to true 注意:如果启用了Python支持,则需要将PythonDir(下面)设置为您的Python安装的路径。
注:源码下载、Python版本要求参考上面的方案一
2.生成解决方案
打开\windows\Caffe.sln,将平台改为x64 Release,先编译libcaffe,再生成解决方案。
注意:
(1)初次点击生成解决方案时Nuget会获取第三方库,该过程很慢(可能出现未响应)请耐心等待。
(2)如果遇到无法打开文件“libcaffe.lib”的错误,先编译libcaffe,再生成解决方案。
(3)在您使用Python支持构建解决方案之后,为了使用它,您必须设置环境变量,变量名:PythonPath 变量值<caffe_root> \ Build \ x64 \ Release \ pycaffe或复制文件夹<caffe_root> \ Build \ x64 \ Release \ pycaffe \ caffe到<python_root> \ lib \ site-packages下。
测试:进入python环境后,执行import caffe,不报错即为成功,若出现ImportError: No module named ***错误,直接利用conda\pip\ install or esay_install 等命令下载安装对应module即可。
(4)如果在VS2013中直接使用Python需要下载一个插件,在VS2013中新建一个Python项目,它会提示你安装插件,点击安装即可。