CAFFE学习笔记(一)Caffe_Example之训练mnist
0、參考文獻(xiàn)
[1]caffe官網(wǎng)《Training LeNet on MNIST with Caffe》;?
[2]薛開宇《讀書筆記4學(xué)習(xí)搭建自己的網(wǎng)絡(luò)MNIST在caffe上進(jìn)行訓(xùn)練與學(xué)習(xí)》([1]的翻譯版,同時(shí)還有作者的一些注解,很贊);
1、*.sh文件如何執(zhí)行?
①方法一:有sh后綴名的是linux腳本文件,在windows下為了執(zhí)行這個(gè)文件,應(yīng)該下載Git。然后對(duì)于sh文件右鍵,打開方式,選擇git-bash.exe。?
②方法二:直接將后綴名改成“bat”然后雙擊。
2、如何載入MNIST數(shù)據(jù)并且開始訓(xùn)練?
(1)首先明確我們需要設(shè)定兩個(gè)重要的prototxt文件,它們分別是CAFFE_ROOT/examples/mnist下的lenet_train.prototxt和lenet_solver.prototxt。?
(2)在lenet_train.prototxt中:?
①在此給出用于訓(xùn)練的MNIST數(shù)據(jù)mnist-train-leveldb以及mnist-test-leveldb的路徑;?
②在此定義這個(gè)網(wǎng)絡(luò)都有哪些層,給出每一層的定義。?
(3)在lenet_solver.prototxt中:?
①在此指明我們要訓(xùn)練的網(wǎng)絡(luò)是lenet_train.prototxt,給出lenet_train.prototxt的路徑;?
②在此指定是用CPU還是GPU。?
(4)在CAFFE_ROOT/examples/mnist下找到sh文件train_lenet.sh,在里面給出:?
①caffe編譯后生成的可執(zhí)行文件exe的名稱(帶不帶“.exe”都可以),后面跟“train”代表選擇“訓(xùn)練”;?
②剛才寫好的lenet_solver.prototxt的路徑。?
然后雙擊執(zhí)行該腳本文件即可。
3、關(guān)于路徑
如2中所述,在這兩個(gè)prototxt和一個(gè)sh文件中,都要指明一些文件的路徑。現(xiàn)總結(jié)如下:?
(1)lenet_train.prototxt中:訓(xùn)練集mnist-train-leveldb與測(cè)試集mnist-test-leveldb的路徑;?
(2)lenet_solver.prototxt中:3-(1)的prototxt文件lenet_train.prototxt的路徑;?
(3)train_lenet.sh中:caffe可執(zhí)行文件exe名稱,以及3-(2)的prototxt文件lenet_solver.prototxt的路徑。
4、能夠讓程序跑起來的設(shè)置方法(法一)
(1)在CAFFE_ROOT/x64/Debug中,新建一個(gè)文件夾example2,使該文件夾與可執(zhí)行文件Caffe.exe處于同一路徑中;?
不要管examples和myexamples,這兩個(gè)文件夾是師兄拷給我的時(shí)候就有了的,一個(gè)是caffe自帶的,一個(gè)是師兄做的實(shí)驗(yàn)。總而言之與example2是獨(dú)立關(guān)系。
(2)將剛才CAFFE_ROOT/examples/mnist下的mnist-test-leveldb、mnist-train-leveldb、lenet_train_test.prototxt以及l(fā)enet_solver.prototxt這四個(gè)文件全部拷貝到example2中去。?
(3)設(shè)定prototxt文件,給出相應(yīng)的路徑。?
①lenet_train_test.prototxt?
這個(gè)文件即之前說的lenet_train.prototxt,為了便于區(qū)分在后面加了一個(gè)_test。給出相對(duì)路徑如下:?
此處給出絕對(duì)路徑也是可以的。如:?
②lenet_solver.prototxt?
設(shè)置相對(duì)路徑:?
這里給出絕對(duì)路徑也是可以的。如:?
(4)將CAFFE_ROOT/examples/mnist下的train_lenet.sh文件拷貝到CAFFE_ROOT/x64/Debug中,使之與可執(zhí)行文件Caffe.exe以及example2處于同一目錄下。?
打開train_lenet.sh文件,修改內(nèi)容如下:?
?
修改該文件后綴名為bat,雙擊train_lenet.bat,則可以成功跑起來。?
5、能夠讓程序跑起來的設(shè)置方法(法二)
這一次我們不再新建example2,亦不改動(dòng)sh文件后綴名為bat,而是直接在CAFFE_ROOT/examples/mnist下修改兩個(gè)prototxt文件和一個(gè)sh文件。這種方法更加簡(jiǎn)單直接,但是要注意保存prototxt文件備份以免寫壞了改不回去。?
關(guān)于這兩個(gè)prototxt文件如何設(shè)置路徑在此不贅述。我直接給出設(shè)置截圖如下:?
lenet_train_test.prototxt:?
lenet_solver.prototxt:?
接下來設(shè)置sh文件train_lenet.sh:?
設(shè)定完畢后,雙擊sh文件,則可以出現(xiàn)如下結(jié)果:?
6、總結(jié)
(1)在設(shè)置一些文件的路徑時(shí),可以給出絕對(duì)路徑,也可以給出相對(duì)路徑。?
(2)在使用train_lenet.sh訓(xùn)練時(shí),可以直接使用sh文件跑起來,也可以修改后綴名為bat然后跑程序。?
(3)本文僅僅針對(duì)于如何“訓(xùn)練網(wǎng)絡(luò)”展開,至于如何開啟測(cè)試模式test對(duì)已經(jīng)訓(xùn)練好網(wǎng)絡(luò)進(jìn)行測(cè)試,目前還沒有進(jìn)行這個(gè)實(shí)驗(yàn),等之后做好了會(huì)更新文章的。
總結(jié)
以上是生活随笔為你收集整理的CAFFE学习笔记(一)Caffe_Example之训练mnist的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 谷歌深度学习四大教训:应用、系统、数据及
- 下一篇: 【caffe-Windows】mnist