使用caffe自带模型训练cifar10数据集
??前面訓(xùn)練了mnist數(shù)據(jù)集!但caffe自帶的數(shù)據(jù)集還有cifar10數(shù)據(jù)集。同樣cifar10數(shù)據(jù)集也是分類數(shù)據(jù)集,共分10類。cifar10數(shù)據(jù)集中包含60000張32x32的彩色圖片。(其中包括50000張作為訓(xùn)練集,10000張作為測(cè)試集)對(duì)于cifar10數(shù)據(jù)集更為詳細(xì)的了解請(qǐng)各位百度,在此不再贅述。本文主要談?wù)勈褂胏affe自帶模型對(duì)cifar10數(shù)據(jù)集進(jìn)行訓(xùn)練的過(guò)程。
??cifar10數(shù)據(jù)集訓(xùn)練步驟如下:
??1.下載cifar10數(shù)據(jù)集:
??進(jìn)入caffe目錄(cd caffe),輸入以下指令:
./data/cifar10/get_cifar10.sh??程序運(yùn)行結(jié)束即可在同一目錄下生成訓(xùn)練集和測(cè)試集數(shù)據(jù)。
??2.轉(zhuǎn)換數(shù)據(jù)格式:
??輸入以下命令:
./examples/cifar10/create_cifar10.sh??在caffe/data/cifar10中出現(xiàn)相關(guān)數(shù)據(jù),在caffe/examples/cifar10中出現(xiàn)cifar_train_lmdb和cifar_test_lmdb。
??3.配置適合自己的solver文件:
??若是使用CPU進(jìn)行訓(xùn)練,對(duì)文件做部分修改,在solvers文件中將solver_mode中的GPU改為CPU。
??4.開(kāi)始訓(xùn)練數(shù)據(jù):
??使用以下命令:
./examples/cifar10/train_quick.sh??以上就完成了cifar10數(shù)據(jù)集(quick版)的訓(xùn)練。什么叫quick版呢?原來(lái)在cifar10數(shù)據(jù)集中根據(jù)訓(xùn)練次數(shù)的多少。把訓(xùn)練模型分為了quick版和full版。下面介紹下quick和full的區(qū)別:
??quick中先以0.001的學(xué)習(xí)率訓(xùn)練4000次(見(jiàn)文件caffe/cirfa10/cirf10_quick_solver)。再以0.0001的學(xué)習(xí)率訓(xùn)練1000次(見(jiàn)文件caffe/cirfa10/cirfa10_quick_solver_lr1)
??full中先以0.001的學(xué)習(xí)率訓(xùn)練60000次(見(jiàn)文件caffe/cirfa10/cirfa10_full_solver),再以0.0001的學(xué)習(xí)率訓(xùn)練5000次(見(jiàn)文件caffe/cirfa10/caifa10/cirfa10_full_solver_lr1),再以0.00001的學(xué)習(xí)率訓(xùn)練5000次(見(jiàn)文件caffe/cirfa10/cirfa10_full_solver_lr2)。
??Quick和full版本結(jié)構(gòu)圖如下:
??1.quick版本:
??2.full版本:
?? 兩圖之間最大的區(qū)別:full使用了1個(gè)全連接層,quick使用了2個(gè)全連接層
??正如題目所說(shuō),很多人會(huì)有疑惑:啥叫自帶模型?其實(shí)這個(gè)意思是caffe下載的時(shí)候自動(dòng)提供的文件,而且我也不知道用什么名字去形容。下面詳細(xì)的介紹下整個(gè)訓(xùn)練模型的結(jié)構(gòu):
?? 輸入層-卷積層1-池化層1(最大池化)-非線性層1(relu)-norm層1-卷積層2-非線性層2(relu)-池化層2(平均池化)-norm層2-卷積層3-非線性層3-池化層3(平均池化)-全連接層-精度層-輸出損失層
??相對(duì)于之前的mnist數(shù)據(jù)集的訓(xùn)練,norm層是新增加的。下面簡(jiǎn)單介紹一下norm層。(更為詳細(xì)的介紹,請(qǐng)各位自行百度)
??norm層介紹:Local Response Normalization (LRN)層,此層是對(duì)一個(gè)輸入的局部區(qū)域進(jìn)行歸一化。在Alexnet和Googlenet中都使用了這個(gè)類型的層
同樣不要忘記,對(duì)模型的測(cè)試:
sudo ./build/tools/caffe.bin test -model=examples/cifar10/cifar10_quick_train_test.prototxt -weights=examples/cifar10/cifar10_quick_iter_4000.caffemodel;??到此為止,完成了cifar10數(shù)據(jù)集的模型建立。第二次完成后是不是感覺(jué)輕車熟路,理解更深了呢?在后面的博客中,會(huì)使用其他更為經(jīng)典、更為著名的模型對(duì)cifar10進(jìn)行測(cè)試。(ps:為啥選擇cifar10而不是mnist,是因?yàn)樵贚enet網(wǎng)絡(luò)結(jié)構(gòu)下,mnist數(shù)據(jù)集模型的精度已經(jīng)達(dá)到較高水平,換用其他高級(jí)模型增長(zhǎng)不是特別大了,使用cifar10更為典型!)
由于本文作者水平有限,如有不足之處,請(qǐng)各位在下方評(píng)論區(qū)指正,謝謝!
總結(jié)
以上是生活随笔為你收集整理的使用caffe自带模型训练cifar10数据集的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python制作各种条形图
- 下一篇: 一、计算机原理