Caffe的官方版本只支持Linux和Mac,由于实验室的环境只能在Windows下跑程序,所以很不开心,折腾了很久,终于找到了一个由网友happynear 非常靠谱粗暴的解决办法,跟着操作一遍果然很给力,直接就能跑。同时happynear 也提到了Microsoft提供了一个更好的Windows平台解决方案,如此好的方案必须试一下。
下面就是具体的操作步骤:
- 环境:
- VisualStudio 2013 (必需)
- CUDA 7.5(可选)
- cudnn v3 or v4 (可选)
事实上Caffe还有很多其他的依赖库,如boost,OpenCV等。Microsoft版本的Caffe使用了NuGet来管理,编译时会自动进行下载。
- 首先在https://github.com/Microsoft/caffe将项目clone下来,保存在本地,根目录我们后文称之为
CAFFE_ROOT
下图即为根目录
有上图可以看到
CAFFE_ROOT
内有一个和官方Caffe很不同的地方,多了一个windows文件夹。打开文件夹就是微软已经为我们建立好的vs工程,在开始之前需要先将CAFFE_ROOT\windows\CommonSettings.props.example
文件复制一份,并命名为CommonSettings.props
这里保存着编译的一些设置内容。打开CAFFE_ROOT\windows\CommonSettings.props
里面有几点重要的设置需要注意<CpuOnlyBuild>false</CpuOnlyBuild> <UseCuDNN>true</UseCuDNN>
第一个设置为true表示只使用CPU,不使用CUDA,第二个选择true表示使用CuDNN,反之为false。其他的还有一些Cuda版本,Python支持,MATLAB支持,这里都选false。 如果选择开启CUDA的话,需要在NVIDIA官网下载[7.5版本的CUDA](https://developer.nvidia.com/cuda-downloads)进行安装。
我编译的环境如下(只开启了CUDA)
<CpuOnlyBuild>false</CpuOnlyBuild> <UseCuDNN>false</UseCuDNN> <CudaVersion>7.5</CudaVersion> <PythonSupport>false</PythonSupport> <MatlabSupport>false</MatlabSupport>
打开
CAFFE_ROOT\windows\Caffe.sln
对libcaffe和caffe项目做如下设置
项目→属性→C/C++→常规→将警告视为错误 设置为否
如果不设置的话在编译boost库的时候会由于文字编码的警告而报错
选择编译环境为Release,x64(其他环境同理)。首先编译libcaffe,在libcaffe上右键生成就可以了
- libcaffe编译成功后再编译caffe,所有编译成功和运行需要的dll文件都会存储在
CAFFE_ROOT\Build\x64\Release
下
至此,Windows版的Caffe编译就成功了。但是 CAFFE_ROOT\examples
下的sample现在还都用不了。因为所有的脚本都是Linux下的sh文件。
下一篇文章会说如何跑起来一个sample。