本文結合幾篇博文總結下來的,附上其中一篇原博文鏈結以供參考:
1、先進入caffe檔案目錄,(指令:cd ./caffe),再用data/mnist下的get_mnist.sh下載mnist資料集,**如下:
2、轉換格式,**如下:
./examples/mnist/create_mnist.sh(若出錯:./examples/mnist/create_mnist.sh: 17: ./examples/mnist/create_mnist.sh: build/examples/mnist/convert_mnist_data.bin: not found。則應先執行編譯:make all -j4,然後再執行命令:./examples/mnist/create_mnist.sh)
完成後在examples/mnist生成了兩個目錄:mnist_test_lmdb和mnist_train_lmdb:
每個目錄下有兩個檔案:data.mdb和lock.mdb:
網路結構定義在./examples/mnist/lenet_train_test.prototxt中。
訓練引數配置在./examples/mnist/lenet_solver.prototxt中。
如果電腦有gpu,則不需要修改配置檔案;如果沒有gpu則需要修改lenet_solver.prototxt,在訓練之前需要修改
./examples/mnist/lenet_solver.prototxt最後的(solver_mode: gpu)修改為:solver_mode: cpu
這樣保證整個訓練過程在cpu上進行。
3、訓練超引數,有兩種方式:
cd ./caffe
./build/tools/caffe train --solver=examples/mnist/lenet_solver.prototxt
(2)將以上訓練的命令列**寫成訓練指令碼並命名為train_lenet.sh,放到mnist目錄下。執行train_lenet.sh指令碼進行訓練。
cd caffe
./examples/mnist/train_lenet.sh(若出錯:check failed: mdb_status == 0 (13 vs. 0) permission denied *** check failure stack trace: ***則記到caffe目錄下,先清除:sudo make clean(刪掉了原有build檔案)後,並重新編譯:sudo make all -j4(重新生成build檔案),再重新訓練。
部分訓練過程截圖如下:等待幾分鐘,訓練好後截圖如下,準確率99.08%:
最終訓練的模型儲存在caffe/examples/mnist/lenet_iter_10000.caffemodel檔案中,訓練狀態儲存在caffe/examples/mnist/lenet_iter_10000.solverstate檔案中。
5、用訓練好的模型對資料進行**。
利用訓練好的lenet-5模型權值檔案(examples/mnist/lenet_iter_10000.caffemodel)可以對測試資料集(或外部測試集)進行**,**如下:(注意caffe.bin ,prototxt ,caffemodel 等的路徑一定要根據自己的寫對:)
cd ./caffe
./build/tools/caffe.bin test \
-model=examples/mnist/lenet_train_test.prototxt \
-weights=examples/mnist/lenet_iter_10000.caffemodel \
-iterations=100
(\表示回車,也可以不要它,直接將這四行**寫成一行**,注意caffe.bin ,prototxt ,caffemodel 等的路徑一定要根據自己的寫對:
./build/tools/caffe.bin test -model=examples/mnist/lenet_train_test.prototxt -weights=examples/mnist/lenet_iter_5000.caffemodel -iterations=100)
**結果如下:
******************************=== 書上的例子到此結束 ********************===
×××××××××××××××××××× 下面是參考**上的例子 ××××××××××××××××××××××
cd ./caffe/examples/mnist
mkdir model_mnist
檢視一下,輸入如下**
ls建好資料夾後需要修改caffe/examples/mnist/lenet_solver.prototxt 中的snapshot_prefix。
訓練網路前先檢視一下build/tools/caffe.bin 的用法。
訓練網路的**如下:
cd ./caffe
./examples/mnist/train_lenet.sh
訓練完成後,在examples/mnist/model_mnist下產生了4個檔案。本例設定迭代5000次輸出乙個模型和訓練狀態儲存下來,故儲存了迭代5000次和迭代10000次的訓練模型與訓練狀態。
測試迭代5000次的模型,**如下:
cd ./caffe
./build/tools/caffe.bin test -model=examples/mnist/lenet_train_test.prototxt -weights=examples/mnist/lenet_iter_5000.caffemodel
執行caffe自帶的mnist例項教程測試迭代10000次的模型,**如下:
cd ./caffe
./build/tools/caffe.bin test -model=examples/mnist/lenet_train_test.prototxt -weights=examples/mnist/lenet_iter_10000.caffemodel
caffe執行自帶的mnist
sh data mnist get mnist.sh但是這些檔案是不能夠直接使用的,因此 sh examples mnist create mnist.sh轉換為lmdb檔案,轉換之後會在examples mnist下面還是生成 mnist train lmdb mnist test lmdb 裡面...
執行caffe自帶的mnist例項詳細教
mnist介紹 mnist是乙個手寫數字庫,由dl大牛yanlecun進行維護。mnist最初用於支票上的手寫數字識別,現在成了dl的入門練習庫。徵對mnist識別的專門模型是lenet,算是最早的cnn模型了。mnist資料訓練樣本為60000張,測試樣本為10000張,每個樣本為28 28大小的...
caffe之MNIST基礎詳解
cd caffe root data mnist get mnist.sh examples mnist create mnist.sh 開啟lenet train test.prototxt檢視詳細資訊 資料層定義如下圖,需要注意的是source和backend,batch size也可以根據需要...