執行caffe自帶的mnist例項教程

2021-08-28 20:58:00 字數 3472 閱讀 8886

本文結合幾篇博文總結下來的,附上其中一篇原博文鏈結以供參考:

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也可以根據需要...