caffe读书笔记1 CIFAR-10在caffe上进行训练与学习
原文地址:caffe讀書筆記1?CIFAR-10在caffe上進(jìn)行訓(xùn)練與學(xué)習(xí)-薛開宇作者:殘夕云翳
本次學(xué)習(xí)筆記作用,知道如何在caffe上訓(xùn)練與學(xué)習(xí),如何看結(jié)果。
?
1.1使用數(shù)據(jù)庫:CIFAR-10
?
60000張?32X32?彩色圖像?10類
50000張訓(xùn)練
10000張測試
?
1.2準(zhǔn)備
在終端運行以下指令:
cd $CAFFE_ROOT/data/cifar10
./get_cifar10.sh
cd $CAFFE_ROOT/examples/cifar10
./create_cifar10.sh
?
其中CAFFE_ROOT是caffe-master在你機子的地址
?
運行之后,將會在examples中出現(xiàn)數(shù)據(jù)庫文件./cifar10-leveldb和數(shù)據(jù)庫圖像均值二進(jìn)制文件./mean.binaryproto
?
?
?
1.3模型
該CNN由卷積層,POOLing層,非線性變換層,在頂端的局部對比歸一化線性分類器組成。該模型的定義在CAFFE_ROOT/examples/cifar10 directory’s cifar10_quick_train.prototxt中,可以進(jìn)行修改。其實后綴為prototxt很多都是用來修改配置的。
?
?
1.4訓(xùn)練和測試
訓(xùn)練這個模型非常簡單,當(dāng)我們寫好參數(shù)設(shè)置的文件cifar10_quick_solver.prototxt和定義的文件cifar10_quick_train.prototxt和cifar10_quick_test.prototxt后,運行train_quick.sh或者在終端輸入下面的命令:
cd $CAFFE_ROOT/examples/cifar10
./train_quick.sh
即可,train_quick.sh是一個簡單的腳本,會把執(zhí)行的信息顯示出來,培訓(xùn)的工具是train_net.bin,cifar10_quick_solver.prototxt作為參數(shù)。
然后出現(xiàn)類似以下的信息:
I0317 21:52:48.945710 2008298256 net.cpp:74] Creating Layer conv1
I0317 21:52:48.945716 2008298256 net.cpp:84] conv1 <- data
I0317 21:52:48.945725 2008298256 net.cpp:110] conv1 -> conv1
I0317 21:52:49.298691 2008298256 net.cpp:125] Top shape: 100 32 32 32 (3276800)
I0317 21:52:49.298719 2008298256 net.cpp:151] conv1 needs backward computation.
這是搭建模型的相關(guān)信息
接著:
0317 21:52:49.309370 2008298256 net.cpp:166] Network initialization done.
I0317 21:52:49.309376 2008298256 net.cpp:167] Memory required for Data 23790808
I0317 21:52:49.309422 2008298256 solver.cpp:36] Solver scaffolding done.
I0317 21:52:49.309447 2008298256 solver.cpp:47] Solving CIFAR10_quick_train
之后,訓(xùn)練開始
I0317 21:53:12.179772 2008298256 solver.cpp:208] Iteration 100, lr = 0.001
I0317 21:53:12.185698 2008298256 solver.cpp:65] Iteration 100, loss = 1.73643
...
I0317 21:54:41.150030 2008298256 solver.cpp:87] Iteration 500, Testing net
I0317 21:54:47.129461 2008298256 solver.cpp:114] Test score #0: 0.5504
I0317 21:54:47.129500 2008298256 solver.cpp:114] Test score #1: 1.27805
?
其中每100次迭代次數(shù)顯示一次訓(xùn)練時lr(learning rate),和loss(訓(xùn)練損失函數(shù)),每500次測試一次,輸出score 0(準(zhǔn)確率)
和score 1(測試損失函數(shù))
?
?
當(dāng)5000次迭代之后,正確率約為75%,模型的參數(shù)存儲在二進(jìn)制protobuf格式在
cifar10_quick_iter_5000
然后,這個模型就可以用來運行在新數(shù)據(jù)上了。
?
1.5?其他
另外,更改cifar*solver.prototxt文件可以使用CPU訓(xùn)練,
?
# solver mode: CPU or GPU
solver_mode: CPU
?
可以看看CPU和GPU訓(xùn)練的差別。
?
主要資料來源:caffe官網(wǎng)教程
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的caffe读书笔记1 CIFAR-10在caffe上进行训练与学习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在caffe上跑自己的数据
- 下一篇: Caffe训练ImageNet