caffe读书笔记1 CIFAR-10在caffe上进行训练与学习
原文地址:caffe讀書筆記1?CIFAR-10在caffe上進行訓練與學習-薛開宇作者:殘夕云翳
本次學習筆記作用,知道如何在caffe上訓練與學習,如何看結果。
?
1.1使用數據庫:CIFAR-10
?
60000張?32X32?彩色圖像?10類
50000張訓練
10000張測試
?
1.2準備
在終端運行以下指令:
cd $CAFFE_ROOT/data/cifar10
./get_cifar10.sh
cd $CAFFE_ROOT/examples/cifar10
./create_cifar10.sh
?
其中CAFFE_ROOT是caffe-master在你機子的地址
?
運行之后,將會在examples中出現數據庫文件./cifar10-leveldb和數據庫圖像均值二進制文件./mean.binaryproto
?
?
?
1.3模型
該CNN由卷積層,POOLing層,非線性變換層,在頂端的局部對比歸一化線性分類器組成。該模型的定義在CAFFE_ROOT/examples/cifar10 directory’s cifar10_quick_train.prototxt中,可以進行修改。其實后綴為prototxt很多都是用來修改配置的。
?
?
1.4訓練和測試
訓練這個模型非常簡單,當我們寫好參數設置的文件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是一個簡單的腳本,會把執行的信息顯示出來,培訓的工具是train_net.bin,cifar10_quick_solver.prototxt作為參數。
然后出現類似以下的信息:
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.
這是搭建模型的相關信息
接著:
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
之后,訓練開始
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次迭代次數顯示一次訓練時lr(learning rate),和loss(訓練損失函數),每500次測試一次,輸出score 0(準確率)
和score 1(測試損失函數)
?
?
當5000次迭代之后,正確率約為75%,模型的參數存儲在二進制protobuf格式在
cifar10_quick_iter_5000
然后,這個模型就可以用來運行在新數據上了。
?
1.5?其他
另外,更改cifar*solver.prototxt文件可以使用CPU訓練,
?
# solver mode: CPU or GPU
solver_mode: CPU
?
可以看看CPU和GPU訓練的差別。
?
主要資料來源:caffe官網教程
?
?
?
?
總結
以上是生活随笔為你收集整理的caffe读书笔记1 CIFAR-10在caffe上进行训练与学习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在caffe上跑自己的数据
- 下一篇: Caffe训练ImageNet