Windows caffe安装

初次在windows上安装caffe,期间碰到很多问题,会经过多次安装甚至重装系统最终安装成功,故此记录下来。

安装过程主要按照github上BVLC/caffe/tree/windows中README的内容安装的。

安装所需软件

  • Visual Studio 2015

    如果已经安装要确认C++环境已经安装,如果未安装,安装时要最好注意选项,如果全部安装C盘会占用50多G(即使选择的安装目录是其他盘),所以一般来说只勾选C++和git就可以了

  • Git

    如果安装VS时没有安装可以单独安装

  • CMake
  • Anaconda Python

    相比直接安装Python,安装Anaconda可以安装很多库方便很多,不过caffe只能使用版本2.7和3.5,Anaconda官网上现在好像只提供2.7和最新的3.6版本,安装3.6编译时会报错,这里建议从清华大学开源软件镜像源上下载,2.7和3.5大概分别对应其中的,Anaconda2-4.4.0-Windows-x86_64.exeAnaconda3-4.2.0-Windows-x86_64.exe,安装是要勾选添加Path选项

  • Matlab2016b及以上版本

    根据Matlab官网,Matlab2015b以上版本才支持VS2015,以下版本可能会报错,安装时一定安装到C盘,不然CMake无法识别到

  • CUDA8.0cuDNN v5

    下载cuDNN时官网上需要注册,可以直接从网上下载或直接点击这里下载cudnn-8.0-windows10-x64-v5.1.zip。下载后解压将其中的’cuda’文件夹里的内容复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0

下载并安装caffe

  • 安装Python接口相关库,打开cmd
    > conda config --add channels conda-forge
    > conda config --add channels willyd
    
    安装期间如果报错,一般来说是网速问题,多试几次,直到保证不会报错
  • 我将caffe安装在桌面,打开cmd,首先下载caffe
> cd Desktop
> git clone https://github.com/BVLC/caffe.git
> cd caffe
  • 右击编辑caffe\scripts\build_win.cmd修改else中的内容为
:: Change to 1 to use Ninja generator (builds much faster)
if NOT DEFINED WITH_NINJA set WITH_NINJA=0
:: Change to 3 if using python 3.5 (only 2.7 and 3.5 are supported)
if NOT DEFINED PYTHON_VERSION set PYTHON_VERSION=3
if NOT DEFINED BUILD_MATLAB set BUILD_MATLAB=1

其他默认就好

  • caffe\matlab\CMakeLists.txt的内容大概第61行改为
    set_target_properties(matlab PROPERTIES
                          RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/matlab/+caffe/private
                          RUNTIME_OUTPUT_DIRECTORY_DEBUG ${PROJECT_SOURCE_DIR}/matlab/+caffe/private
                          RUNTIME_OUTPUT_DIRECTORY_RELEASE ${PROJECT_SOURCE_DIR}/matlab/+caffe/private
                          )
    if(COPY_PREREQUISITES)

如果不修改,无法生成
caffe\matlab\+caffe\private\Release\caffe_.mexw64文件,
就无法调用matlab接口,这里参考BVLC/caffe/issues/#5219

  • 接着上面的命令,编译caffe
> scripts\build_win.cmd

结束后大概有9064个警告

如果运行该命令失败,可以删除caffe\build文件夹,重新运行该命令

  • caffe\python\caffe复制到Anaconda3\Lib\site-packages或者将caffe\python添加到Path

测试

如果前面安装时没有选择打开接口,之后可以使用cmake-gui,点好选项并configuregenerate
cmake-gui

使用python接口

运行cmd

> python
Python 3.5.2 |Anaconda custom (64-bit)| (default, Jul  5 2016, 11:41:13) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import caffe
>>>

没有报错说明成功

使用matlab接口

打开matlab添加搜索路径,运行命令

>> cd ../caffe
>> addpath('./build/Matlab')

或者运行pathtool直接添加该路径并且保存

然后进入caffe\matlab运行

>> caffe.run_tests()
Cleared 0 solvers and 0 stand-alone nets
...

无报错说明成功,如果出现错误caffe.run_tests (line 6),应该是前面没有修改caffe\matlab\CMakeLists.txt文件

接下来运行cmd下载训练模型

> cd Desktop\caffe
> python scripts\download_model_binary.py models\bvlc_reference_caffenet

参考教程
选择文件夹caffe\matlab\demo

>> im = imread('../../examples/images/cat.jpg')
>> figure;imshow(im)

猫咪

>> [scores, maxlabel] = classification_demo(im, 1)
>> maxlabel
>> figure;plot(scores)
>> axis([0, 999, -0.1, 0.5])
>> grid on

结果