(1) Windows 10 + VS2013(cpuonly)安装 caffe 教程

一、前言

阅读论文时想跑一跑作者提供的代码,可是作者是使用caffe写的,所以不得不安装caffe。之前实验室的小伙伴安装过caffe,据说在windows是安装caffe特别麻烦,会出现很多莫名其妙的问题。但是为kill bug而生的程序员是绝对不会屈服的。面对再多的errors和warnings我们依然要,不管风吹浪打,胜似闲庭信步。于是我带着欲将剩勇追穷寇的勇气,毅然决然地踏上了caffe安装之路。

二、准备

  1. Visual Studio 2013 (强烈推荐此版本)使用其他版本后果自负(其他版本会用很多莫名其妙的问题)。如果你没有听我的,我相信你会后悔的,如果你听我的了,我相信你也不一定会庆幸,因为还是可能会有问题。百度云下载链接Note: Windows支持同时安装多个不同版本的VS,如果你安装了别的版本的VS,不必卸载,只需要再安装一个VS2013即可。
  2. 如果VS2013没有安装NuGet 包管理工具,需要安装。安装步骤如下:
    • 打开VS2013,点击“工具”-“扩展和更新”
    • 在弹出的对话框中点击“联机”,在右上角搜索框中搜索NuGet,在搜索结果中“NuGe Package Manager”项上面的“下载”,开始下载NuGet,下载完后进行安装。如果有一个绿色的对勾标志则表示已经安装过了,不需要再安装了。(1) Windows 10 + VS2013(cpuonly)安装 caffe 教程
    • 安装完后重启VS2013,重启后点击“工具”-“扩展和更新”,选择“已安装”,可以看到NuGet Package Manager已经安装好了。(1) Windows 10 + VS2013(cpuonly)安装 caffe 教程
  3. caffe-master.zip (同样强烈推荐微软封装的caffe)使用其他版本后果自负(微软封装的安装省事,基本不怎么用装其他依赖。github 下载链接。百度云下载链接

三、安装

  1. 解压下载的caffe-master.zip,选择解压到当前文件夹就可以。
  2. 进入解压后的文件夹,caffe-master\windows
  3. 在caffe-master\windows目录下复制文件 CommonSettings.props.example. 然后再粘贴到当前文件夹,得到一个这个文件的副本。然后修改副本的文件名为CommonSettings.props
  4. 使用notepad++(或者其他编辑器)打开CommonSettings.props,修改一些配置。
  5. 由于我的电脑没有GPU所以需要修改配置文件,设置成CPU版本的。修改CpuOnlyBuild属性为true,UseCuDNN属性为false。
  6. 先关闭支持python和MATLAB,需要设置PythonSupport和MatlabSupport为false。需要的话我们可以之后再打开。怎么在python中配置caffe请参考博客(3)Windows平台下caffe的python接口配置及测试
    (1) Windows 10 + VS2013(cpuonly)安装 caffe 教程
  7. 使用VS2013打开caffe-master\windows下的Caffe.sln,可以看到该解决方案*有16个项目。(1) Windows 10 + VS2013(cpuonly)安装 caffe 教程
  8. 右击“解决方案‘Caffe’”,选择“属性”,将“配置属性”-“配置”修改成Release和x64,如下图所示 。
    (1) Windows 10 + VS2013(cpuonly)安装 caffe 教程
    NOTE: 在上图顶部工具栏中的“配置”和“平台”框,若你的VS2013中将这两个框在工具栏中显示,则要在工具栏中将配置改成Release和x64,否则直接右击“解决方案Caffe”来更改配置是无效的。如下图:(1) Windows 10 + VS2013(cpuonly)安装 caffe 教程
  9. 右击解决方案中的libcaffe项目,选择“属性”,在打开的属性页中选择“C/C++”-“常规”,将“将警告视为错误”设为“否”,如下图所示: (1) Windows 10 + VS2013(cpuonly)安装 caffe 教程
  10. 右击“libcaffe”项目,选择“生成”,等待一段时间,直至项目生成完成。该过程可能比较长, VS会使用NuGet对caffe的一些依赖文件进行自动还原。
  11. 右击“解决方案Caffe”,选择“生成解决方案”,继续等待一段时间,直至解决方案生成成功。(1) Windows 10 + VS2013(cpuonly)安装 caffe 教程
  12. 等待过后生成成功,到此windows下的caffe配置完成,此时在caffe-master目录下会生成Build文件夹,即为我们编译成功的文件夹,而caffe-master\Build\x64\Release目录下则会有我们编译出的caffe.exe执行文件。(1) Windows 10 + VS2013(cpuonly)安装 caffe 教程
  13. 设置解决方案的启动项目。如果解决方案的启动项目不是caffe可能会出问题。可以选中caffe项目,点击鼠标右键将caffe设置为启动项目。
    (1) Windows 10 + VS2013(cpuonly)安装 caffe 教程
    也可以使用另一种方法,选中解决方案,点击鼠标右键,选择属性,在打开的面板中选择当前选定内容。推荐使用第二种方法,这样设置后运行前选择哪个项目,哪个就是启动项目。(1) Windows 10 + VS2013(cpuonly)安装 caffe 教程
  14. 选择caffe,打开caffe项目下的caffe.cpp 文件,然后安Ctrl+F5执行。出现如下画面caffe.exe就算是配置成功了。(1) Windows 10 + VS2013(cpuonly)安装 caffe 教程 关于生成的caffe.exe如何使用请参考我的另一篇博客(2) Windows下caffe安装成功测试

四、问题

年轻人(新手)往往不信邪,偏偏不听过来人的忠告,直到自己装得头破血流。所以现在我信邪了。
1. LNK1104 无法打开文件 “libboost_python-vc140-mt-1_59.lib” / LNK1104 无法打开文件“libboost_date_time-vc140-mt-1_59.lib” …… 之类的问题,一般使用因为没有使用VS2013造成的。开始我就是没有把过来人的忠告放在心上,非要使用VS2015来编译,结果一生成好几百个错误。所以后来我老老实实安装了VS2013,上面的这些错误就不复存在了。
2. * gpu/mxGPUArray.h” Not Found * 出现”gpu/mxGPUArray.h” Not Found问题是因为装的matlab版本(2016)太新了,修改CommonSettings.props配置如下,IncludePath下增加路径$(MatlabDir)\toolbox\distcomp\gpu\extern\include
(1) Windows 10 + VS2013(cpuonly)安装 caffe 教程
重新加载项目到VS2013,再次生成解决方案就成功了。 (该问题是打开MATLAB接口才会出现的,如果你之前按照我的步骤没有打开MATLAB接口不会出现该问题。)
3. 该文件没有与之关联的程序来执行该操作。请安装一个程序,或者,…..
(1) Windows 10 + VS2013(cpuonly)安装 caffe 教程
出现该问题的原因就是我把解决方案下的libcaffe项目设置成了启动项目。按照安装步骤13设置后,问题解决。

五.参考

  1. Caffe:Windows(64位)+VS2013下的Caffe(CPU Only)安装配置
  2. 【日常】Caffe编译”gpu/mxGPUArray.h” Not Found错误解决
  3. 【caffe-Windows】caffe+VS2013+Windows无GPU快速配置教程

六、更多

1.关于caffe.exe 的测试请参考博文(2) Windows下caffe安装成功测试
2. (3)Windows平台下caffe的python接口配置及测试