1. 程式人生 > >win10+vs2015+caffe(cpu)版本

win10+vs2015+caffe(cpu)版本

2.CMAKE。需要3.4版本以上,我用的是3.9.6

3.Anaconda。目前官方的版本是Anaconda 3.6和2.7,就是說內建了 Python2.7 or 3.6。 喜歡高版本的朋友注意了,3.6caffei不支援。所以你要麼在歷史檔案中下Anaconda3-4.2.0-Windows-x86_64.exe,要麼參照http://blog.csdn.net/cym1990/article/details/78563349下個3.6版本的,然後重新安裝Anaconda的環境為 PYTHON3.5。當然2.7版本的就可以了。

然後用notepad修改caffe路徑下scripts檔案下build_win.cmd

修改第8行為,if NOT DEFINED WITH_NINJA set WITH_NINJA=0,表示使用cl編譯器,而非NINJA

修改第9行為,if NOT DEFINED CPU_ONLY set CPU_ONLY=0,表示編譯GPU版本caffe

修改第74行為,if NOT DEFINED WITH_NINJA set WITH_NINJA=0,表示使用cl編譯器,而非NINJA

修改第76行為,if NOT DEFINED CPU_ONLY set CPU_ONLY=0,表示編譯GPU版本caffe 

修改完畢後,返回上級目錄,cmd下執行下面的命令。

 

放到路徑C:\Users\lcc\.caffe\dependencies\download

根據自己下載修改

在caffe檔案下 cmd下執行scripts\build_win.cmd

最後

 完畢後在caffe下可以找到Caffe.sln,使用VS2015開啟,對整個工程進行編譯即可。完畢後就會生成需要的庫檔案。

 

3.測試caffe.exe

參見Windows下VS2015編譯caffe(CPU ONLY) 
(1)下載MNIST資料庫​https://pan.baidu.com/s/1o7YrhKe,解壓縮後將mnist-test-leveldb與mnist-train-leveldb資料夾放到\examples\mnist下。注意

 (2)修改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:"C:/Caffe/caffe/examples/mnist/mnist-train-leveldb"

   batch_size: 64

   backend:LEVELDB

 }

}

layer {

 name: "mnist"

 type: "Data"

 top: "data"

 top: "label"

 include {

   phase: TEST

 }

 transform_param {

   scale: 0.00390625

 }

 data_param {

   source:"C:/Caffe/caffe/examples/mnist/mnist-test-leveldb"

   batch_size: 100

   backend:LEVELDB

 }

}

注意:修改4個紅色字型文字,相信你看得懂,就是剛才拷貝的兩個資料夾的絕對路徑;以及兩處格式

(3)修改lenet_solver.prototxt檔案:

# The train/test net protocolbuffer definition

net: "C:/Caffe/caffe/examples/mnist/lenet_train_test.prototxt"

# test_iter specifies how manyforward passes the test should carry out.

# In the case of MNIST, we havetest batch size 100 and 100 test iterations,

# covering the full 10,000 testingimages.

test_iter: 100

# Carry out testing every 500training iterations.

test_interval: 500

# The base learning rate, momentumand the weight decay of the network.

base_lr: 0.01

momentum: 0.9

weight_decay: 0.0005

# The learning rate policy

lr_policy: "inv"

gamma: 0.0001

power: 0.75

# Display every 100 iterations

display: 100

# The maximum number of iterations

max_iter: 10000

# snapshot intermediate results

snapshot: 5000

snapshot_prefix: "C:/Caffe/caffe/examples/mnist/lenet"

# solver mode: CPU or GPU

solver_mode: CPU

注意:修改兩處個紅色字型文字,相信你看得懂,就是修改檔案或者資料夾的絕對路徑;如果你的硬體不支援GPU程式設計,最後一句修改為CPU。

(4)在minist資料夾下編寫批處理檔案run.bat,內容如下:

D:\caffe1\tools\Debug\caffe-d.exe train --solver=D:\caffe1\examples\mnist\lenet_solver.prototxt

Pause

說明:第一行,就是執行你編譯得到的caffe.exe,所以需要換成你的caffe.exe的絕對路徑。

注意:

·       斜槓必須使用backslash:\。使用Slash:/會出錯。

·       train 和—solver之間有一空格,不能省略。無空格會出錯。

(5)​雙擊run.bat程式能夠執行,並且之後也不會報錯,那麼恭喜你,Caffe-Windows配置成功了。