用vs2015编译并配置caffe(CPU only)
来源:互联网 发布:电路图软件 编辑:程序博客网 时间:2024/06/04 23:24
用vs2015编译并配置caffe(CPU only)
1 环境准备
- Visual Studio 2015
- CMake 3.4 or higher #只用3.4及以上版本才支持vs2015
- anaconda python2.7 #anaconda集成了大量优秀的python第三方科学计算库
- git
vs2015自然是用来编译caffe项目的,但是这个caffe项目文件和vs2013环境下有所不同,需要通过cmake工具make出来。直接用vs2015编译vs2013的项目是会出错的。
2 文件下载
2.1 准备项目文件
克隆项目,进入windows分支
C:\Projects> git clone https://github.com/BVLC/caffe.gitC:\Projects> cd caffeC:\Projects\caffe> git checkout windows
2.2 准备预编译库
在该文件cmake/WindowsCreateLinkHeader.cmake
中,有自动下载的脚本,奈何最近开大会,校园网感人,各种中断。我们可以直接从中提取连接然后下载,这里我提供两种下载方式
百度云 https://pan.baidu.com/s/1sl6XFRZ (感谢博主@xiaoxiyang1990提供)
github https://github.com/willyd/caffe-builder/releases/download(博主刚刚访问就是404,哭)
下载好了以后,在根目录下新建文件加build
,把文件解压到caffe/bulid
目录,文件很大,解压大小在1G左右。
3 cmake编译生成vs2015项目
3.1 修改配置文件
打开caffe/scripts
,用notepad++打编辑控制台脚本文件build_win.cmd
,从第69行else处开始,根据需求做相应修改
if NOT DEFINED MSVC_VERSION set MSVC_VERSION=14 #vs的版本,如果是vs2013为12,vs2015为14,此处我们不做修改 if NOT DEFINED WITH_NINJA set WITH_NINJA=0 #此处改为1,我们使用vs编译,不借助ninja,虽然官方说ninja更快 if NOT DEFINED CPU_ONLY set CPU_ONLY=1 #我们只配置CPU版本,此处值1 if NOT DEFINED CUDA_ARCH_NAME set CUDA_ARCH_NAME=Auto if NOT DEFINED CMAKE_CONFIG set CMAKE_CONFIG=Release if NOT DEFINED USE_NCCL set USE_NCCL=0 if NOT DEFINED CMAKE_BUILD_SHARED_LIBS set CMAKE_BUILD_SHARED_LIBS=0 if NOT DEFINED PYTHON_VERSION set PYTHON_VERSION=2 #python版本,python2.7写2,python3.5写3 if NOT DEFINED BUILD_PYTHON set BUILD_PYTHON=1 if NOT DEFINED BUILD_PYTHON_LAYER set BUILD_PYTHON_LAYER=1 if NOT DEFINED BUILD_MATLAB set BUILD_MATLAB=0 if NOT DEFINED PYTHON_EXE set PYTHON_EXE=python if NOT DEFINED RUN_TESTS set RUN_TESTS=0 if NOT DEFINED RUN_LINT set RUN_LINT=0 if NOT DEFINED RUN_INSTALL set RUN_INSTALL=0
然后在cmd或者powershell下运行build_win.cmd
,不出问题就是一路同行。
* 报错中出现ninja字样,就是因为配置文件没有把ninja项改为0
4 vs2015编译caffe
4.1 编译
cmake的结果是生成了bulid
文件夹,打开caffe\scripts\build\Caffe.sln
,就进入了caffe的vs2015项目了。
INSTALL
获得caffe的可执行文件caffe\scripts\build\install\bin\caffe-d.exe
到此为止,caffe算是编译完成了。
5 测试
采用minist
数据集验caffe。
数据下载地址: https://pan.baidu.com/s/1o7YrhKe (感谢博主@延卿
把文件解压到caffe\examples\mnist
,
打开lenet_train_test.prototxt
,修改如下两个mnist层,共四个参数
name: "LeNet"layer { name: "mnist" type: "Data" top: "data" top: "label" include { phase: TRAIN } transform_param { scale: 0.00390625 } data_param { source: "A:/Caffe/caffe/examples/mnist/mnist-train-leveldb" #修改为绝对路径 batch_size: 64 backend: LEVELDB #修改为:LEVELDB }}layer { name: "mnist" type: "Data" top: "data" top: "label" include { phase: TEST } transform_param { scale: 0.00390625 } data_param { source: "A:/Caffe/caffe/examples/mnist/mnist-test-leveldb" #修改为绝对路径 batch_size: 1 backend: LEVELDB #修改为:LEVELDB }}
然后修改lenet_solver.prototxt
,
# The train/test net protocol buffer definitionnet:"A:/Caffe/caffe/examples/mnist/lenet_train_test.prototxt" # 设置为绝对路径 # test_iter specifies how many forward passes the test should carry out.# In the case of MNIST, we have test batch size 100 and 100 test iterations,# covering the full 10,000 testing images.test_iter: 100# Carry out testing every 500 training iterations.test_interval: 500# The base learning rate, momentum and the weight decay of the network.base_lr: 0.01momentum: 0.9weight_decay: 0.0005# The learning rate policylr_policy: "inv"gamma: 0.0001power: 0.75# Display every 100 iterationsdisplay: 100# The maximum number of iterationsmax_iter: 1000 # 迭代次数,可以改的小一点# snapshot intermediate resultssnapshot: 500snapshot_prefix: "A:/Caffe/caffe/examples/mnist/lenet"# solver mode: CPU or GPUsolver_mode: CPU # 只使用CPU训练
再cmd中执行A:\Caffe\caffe\scripts\build\tools\Debug\caffe-d.exe train --solver=A:\Caffe\caffe\examples\mnist\lenet_solver.prototxt
开始训练。
不出问题最后出现accurance=xx,loss=xx,并且程序停止,则表示运行成功。生成模型caffe\examples\mnist\lenet_iter_1000.caffemodel
- 用vs2015编译并配置caffe(CPU only)
- Windows下VS2015编译caffe(CPU ONLY)
- Windows下VS2015编译caffe(CPU ONLY)
- win7+vs2015/13+caffe+matlab+python(CPU only)配置
- win10+VS2015+CPU-Only安装与配置Caffe
- Win7 VS2015编译caffe cpu版本
- Ubuntu16.04配置caffe和pycaffe(cpu only)
- win7,vs2013 caffe配置[Only CPU]
- ubuntu caffe ssd cpu-only配置
- 深度学习之caffe入门——caffe环境的配置(CPU ONLY)
- 【Caffe安装】Ubuntu14.04上Caffe配置安装(Only CPU)
- centos 7 + caffe + CPU(only)
- Windows 下(VS2013)编译 Caffe Fast RCNN (CPU Only)
- Ubuntu14:cmake生成Makefile编译caffe过程(OpenBLAS/CPU only)
- Caffe学习(1) Ubuntu16.04 Caffe安装(CPU Only)
- Caffe(仅CPU)配置+编译+python接口
- caffe(only CPU)+Ubuntu16.04 环境配置(内附mnist测试)
- caffe在Ubuntu16.40+python2.7.12(CPU ONLY)下的配置
- Spring JdbcTemplate 批量插入或更新操作
- 关于PreparedStatement插入Date类型值的方法
- 【日记】备战NOIP2017
- spring JdbcTemplate小结
- Spring JDBC 概述
- 用vs2015编译并配置caffe(CPU only)
- JAVA时间格式的处理 SimpleDateFormat 类(小结)
- deap实战_2017中国数学建模大赛_B题_第二题
- (转)jsp base path作用
- bzoj1226 [SDOI2009]学校食堂Dining (状压DP)
- JavaScript中清空数组的三种方式
- spring执行定时任务
- Xmanager Failed to get the installation date from the system registry
- shell中如何显示前后几天的方法