caffe 試運行MNIST


轉自:http://www.cnblogs.com/NanShan2016/p/5469942.html

編譯完caffe后,在D:\caffe\caffe-master\caffe-master\build\x64\Release 中有caffe.exe

訓練篇

1 *.sh文件如何執行?

直接將后綴名改成“bat”然后雙擊。 但是實際上好像好需要修改。

如何載入MNIST數據並且開始訓練?

   (1)首先明確我們需要設定兩個重要的prototxt文件,它們分別是CAFFE_ROOT/examples/mnist下的lenet_train_test.prototxt和lenet_solver.prototxt。 

①在此給出用於訓練的MNIST數據mnist-train-leveldb以及mnist-test-leveldb的路徑; 用於訓練和測試的數據的路徑
②在此定義這個網絡都有哪些層,給出每一層的定義。  網絡的結構,那些層,每層的設計

3)在lenet_solver.prototxt中: 
①在此指明我們要訓練的網絡是lenet_train_test.prototxt,給出lenet_train_test.prototxt的路徑;   上述網絡運行時的參數及路徑 詳細見:http://blog.csdn.net/langb2014/article/details/50457774
②在此指定是用CPU還是GPU。 

開始訓練:在CAFFE_ROOT/examples/mnist下找到sh文件train_lenet.sh,在里面給出: 
①caffe編譯后生成的可執行文件exe的名稱(帶不帶“.exe”都可以),后面跟“train”代表選擇“訓練”; caffe.exe要和train_lenet.sh在一個目錄下 同時
②剛才寫好的lenet_solver.prototxt的路徑。   train_lenet.sh要指明網絡求解路徑,網絡求解proto中包含數據路徑
然后雙擊執行該腳本文件即可。

windows下腳本是.bat文件

caffe.exe train --solver=example2/lenet_solver.prototxt
pause

3、關於路徑

如2中所述,在這兩個prototxt和一個sh文件中,都要指明一些文件的路徑。現總結如下: 
(1)lenet_train_test.prototxt中:訓練集mnist-train-leveldb與測試集mnist-test-leveldb的路徑; 
(2)lenet_solver.prototxt中:3-(1)的prototxt文件lenet_train_test.prototxt的路徑; 
(3)train_lenet.sh中:caffe可執行文件exe名稱,以及3-(2)的prototxt文件lenet_solver.prototxt的路徑。

 

能夠讓程序跑起來的設置方法(法一)

(1)在CAFFE_ROOT/x64/Debug中,新建一個文件夾example2,使該文件夾與可執行文件Caffe.exe處於同一路徑中; 
這里寫圖片描述
不要管examples和myexamples,這兩個文件夾是師兄拷給我的時候就有了的,一個是caffe自帶的,一個是師兄做的實驗。總而言之與example2是獨立關系。

(2)將剛才CAFFE_ROOT/examples/mnist下的mnist-test-leveldb、mnist-train-leveldb、lenet_train_test.prototxt以及lenet_solver.prototxt這四個文件全部拷貝到example2中去。 
這里寫圖片描述

(3)設定prototxt文件,給出相應的路徑。 
①lenet_train_test.prototxt 
這個文件即之前說的lenet_train.prototxt,為了便於區分在后面加了一個_test。給出相對路徑如下: 
這里寫圖片描述
此處給出絕對路徑也是可以的。如: 
這里寫圖片描述
②lenet_solver.prototxt 
設置相對路徑: 
這里寫圖片描述
這里給出絕對路徑也是可以的。如: 
這里寫圖片描述

(4)將CAFFE_ROOT/examples/mnist下的train_lenet.sh文件拷貝到CAFFE_ROOT/x64/Debug中,使之與可執行文件Caffe.exe以及example2處於同一目錄下。 
這里寫圖片描述
打開train_lenet.sh文件,修改內容如下: 
這里寫圖片描述 
修改該文件后綴名為bat,雙擊train_lenet.bat,則可以成功跑起來

注意:一點是LEVELDB 而不是小寫的 否則訓練會出錯

在網絡訓練完畢后,將在指定路徑后生成四個文件,其中兩個caffemodel文件lenet_iter_5000.caffemodel與lenet_iter_10000.caffemodel為我們測試時所需要的,它們分別存放着程序迭代5000次與10000次后網絡的參數。 

測試篇

將在對應的路徑下生成四個文件: 
這里寫圖片描述

2、在CAFFE/examples/mnist目錄下新建一個文本文件,然后將后綴名改成sh。填入以下語句: 
這里寫圖片描述
注意,這樣填寫只是為了便於觀看,但直接保存后是不能跑起來的,必須把第2~5條語句全部放在同一行,語句與語句之間用一個空格隔開。 
這里寫圖片描述

3、保存該sh文件,然后雙擊,即可出現訓練情況: 
這里寫圖片描述

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2024 CODEPRJ.COM