Windows下VS2015编译caffe(CPU ONLY)
本文参照了:Windows下VS2015编译caffe,零基础。
1、环境:Windows 7VS2015 CPU ONLY
2、准备工作,原文说 https://github.com/BVLC/caffe/tree/windows
Requirements
· Visual Studio 2013 or 2015
· CMake 3.4 or higher (Visual Studioand Ninja generators are supported)
· Python 2.7 Anaconda x64 (or Miniconda).
· CUDA 7.5 or 8.0 (optional) (use CUDA 8if using Visual Studio 2015)
· cuDNN v5 (optional)
· We assume that cmake.exe and python.exe are on your PATH
(1)已经安装VS2015
(2)已经安装CMake
(3)安装Python 2.7Anaconda x64,后来发现后面引用都是Miniconda,所以又安装了Miniconda2
(4)CUDA 无GPU 没有安装,cuDNN没有安装
3、其他软件安装,为了可以生成VS2015项目文件需要安装其他软件
(1) 安装pip (参见windows下面安装Python和pip终极教程)
(2) 安装six : pip install six
(3) 安装yaml: pip install pyyaml
(4) 安装numpy: pip install numpy
4、下载依赖库
原文是通过
python scripts\download_prebuilt_dependencies.py --msvc_version=v140
但是由于网络太慢,可以直接下载。地址链接:https://github.com/willyd/caffe-builder/releases/download/v1.0.1/libraries_v140_x64_py27_1.0.1.tar.bz2
下完依赖包,然后在caffe目录下,新建一个名为“build”的文件夹,然后再把我们下好的依赖包解压到build文件夹里面。解压后的文件在build\libraries下
5、编辑build_win.cmd(重要)
编译caffe所需的VS2015项目文件是通过cmd 批文件生成(build_win.cmd),在生成之前需要根据cpu only编辑一下。
build_win.cmd 是文本文件,可以直接用editplus或者word直接打开。
(1)51行
:: Change to 1 to build caffewithout CUDA support
if NOT DEFINED CPU_ONLY setCPU_ONLY=0
修改为CPU_ONLY=1
(第一次我没有修改这里,而是在vs项目文件中修改CPU_ONLY=1也可以)
(2)删除124-131(因为已经手工下载)
:: Download dependencies fromVS x64
echo INFO: Downloadingdependencies
"%PYTHON_EXE%""%~dp0\download_prebuilt_dependencies.py" --msvc_versionv%MSVC_VERSION%0if ERRORLEVEL 1 (echo ERROR: Downloading dependencies failedexit /b 1
)
(3)134-137 执行prependpath.bat(此文件在下载的依赖库中libraries_v140_x64_py27_1.0.1.tar.bz2) 批处理文件,一定需要和你解压缩位置一致。
:: Add the dependencies tothe PATH
if EXIST"%cd%\libraries\prependpath.bat" (call"%cd%\libraries\prependpath.bat"
)
6、生成VS2015项目文件
打开命令窗口执行
C:\Projects\caffe\build\build_win.cmd
生成时间有点长,等待cmake把vs2015的项目给build出来。
build完之后,在build的目录下就会出现一个caffe.sln工程文件。然后就可以用VS2015打开
7、打开修改Caffe.sln
项目配置属性->C/C++->预处理器->预处理器定义:
CPU_ONLY=1
8、编译
编译后的文件caffe-d.exe在tools\debug\ (或者release)
我编译用的DLL方式,所以需要将一些dll复制到caffe-d.exe所在目录,需要复制的是
..build\libraries\bin和..\build\libraries\x64\vc14\bin
如果不复制会提示找不到dll文件
没有研究是否可以用其他方式。
9、测试caffe-d.exe (参见用vs2013(cpu-only)调试caffe的mnist)
下载MNIST数据库http://pan.baidu.com/s/1o7YrhKe,解压缩后将mnist-test-leveldb与mnist-train-leveldb文件夹放到\examples\mnist下
修改lenet_train_test.prototxt文件:
//需要修改四处地方,如下红色部分标注
name: "LeNet"
layer {name: "mnist"type: "Data"top: "data"top: "label"include {phase: TRAIN}transform_param {scale: 0.00390625}data_param {source: "....省略/examples/mnist/mnist-train-leveldb" //写上你的绝对路径batch_size: 64backend: LEVELDB //格式改成LEVELDB}
}
layer {name: "mnist"type: "Data"top: "data"top: "label"include {phase: TEST}transform_param {scale: 0.00390625}data_param {source: "....省略/examples/mnist/mnist-test-leveldb" //写上你的绝对路径batch_size: 100backend: LEVELDB //格式改成LEVELDB}
}
修改lenet_solver.prototxt文件:
net: "....省略/examples/mnist/lenet_train_test.prototxt" //绝对路径snapshot_prefix: "....省略/examples/mnist/lenet" //绝对路径solver_mode: CPU //CPU模式
编写批处理文件run.bat内容如下:
D:\Projects\caffe\scripts\build\tools\Debug\caffe-d.exe train--solver=D:\Projects\caffe\examples\mnist\lenet_solver.prototxtPause
上面替换为你的文件绝对路径就可以
双击run.bat程序能够运行,并且之后也不会报错,那么恭喜你,Caffe-Windows配置成功了。
Windows下VS2015编译caffe(CPU ONLY)相关推荐
- windows下VS2015配置caffe
Windows下VS2015配置caffe,是一件其实挺简单但是坑特别多的事情,稍有不慎就爬不出来,写博客来记录最后在老师帮助下才配置成功的经验(严格按照老师的教程一步也不能错才行),当然我写得也详细 ...
- Windows下 VS2015编译boost1.62
VS2015编译boost1.62 Boost库是一个可移植.提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一. Boost库由C++标准委员会库工作组成员发起,其中有些内容有 ...
- windows下vs2015编译POCO及使用poco操作sqlite
1.下载POCO https://pocoproject.org/releases/ 我们选择windows下的zip包下载,注意有两个版本 poco-1.9.4-all.zip poco-1.9.4 ...
- Windows下VS2015 MPI编译64位Boost1.64
Windows下VS2015编译64位Boost1.64 2017年12月08日 15:51:48 阅读数:346 参考原帖:https://gist.github.com/UnaNancyOwen/ ...
- Boost在Linux和windows下的编译 32位 64位
一 简言 1. Boost库是一个可移植.提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一 2. Boost官网地址:http://www.boost.org/ 3. 本博客示 ...
- ncnn环境搭建一 - windows下protobuf编译安装
1. 环境 安装环境采用visual studio 2015 + protobuf 3.4.0 + ncnn 2. visual studio 2015安装 visual studio采用的是 vs2 ...
- tinyxml在linux和windows下的编译及使用详解
一:摘要 1.XML全称EXtensible Markup Language,翻译为可扩展标记语言,XML文件通常就是一个文本文件,可以使用任何编码 2.TinyXML是一个开源的C++用来处理XML ...
- jsoncpp在linux和windows下的编译及使用详解
一:摘要 1. JSON是一种轻量级的数据传输格式,全称为:JavaScript Object Notation,官方网址: http://www.json.org/json-zh.html 3. J ...
- Windows下MinGW编译vim7.4
学习了一段时间Vim,感觉有些功能真的很方便.因学习原因,工作平台更换到一台老式Xp电脑上,重新安装了Vim7.4.官网默认版本不支持等宽字体和GDI++渲染,需要手工编译一个修改过的版本. 1.下载 ...
- Agg在Windows下的编译与使用
Agg在Windows下的编译与使用 flyfish Agg简介 AGG(Anti-Grain Geometry)是一个开源免费的图形库. 官网地址: www.antigrain.com 主要是编译称 ...
最新文章
- 解决python中import时无法识别自己写的包和模块的方法
- Java中的Iterable与Iterator详解
- Spring AOP相关术语解释及简单使用
- Spring Boot 2.x(十五):Dubbo + Zookeeper + Dubbo Admin
- as3文本框的动态拖拽和编辑
- 笨小熊 -- ACM解决方法
- python总结教程_python基础教程总结10——文件
- MDP动态规划解法(三)
- Android中设置EditText显示或隐藏密码
- Github之深入解析如何在托管在不同系统的项目上使用Git客户端
- 广度优先搜索(啊哈算法)
- ie浏览器兼容模式怎么设置?
- 新手小白如何做自媒体自媒体入门视频教程(3G教程)
- Google谷歌搜索引擎镜像入口网址大全导航,谷歌搜索引擎镜像站
- 币圈进化,IFO、IHO玩法更高级,李笑来Candy“糖果”野望未来
- 华硕服务器不分区重装系统,华硕笔记本重装系统不能进入系统怎么办
- 在中国做量化交易一天的工作内容
- iOS tableView 右侧索引视图状态获取
- 学习Python处理Excel 难度1级别 多表合并、数据透视表、拆分合并单元格并获得一维表
- Pluecker coordinates普吕克坐标系介绍