Caffe學習 2 Mnist的測試

2021-08-10 16:18:18 字數 2328 閱讀 6809

mnist,乙個經典的手寫數字的影象數字庫,由紐約大學的yann lecun教授整理,包含60000個訓練樣本和10000個測試樣本,大小為28*28,在caffe上配置的第乙個案例。用的網路模型是lenet,它是公認在數字分類任務上效果很好的網路。實驗中在原始 lenet基礎上做了一點改動,對於神經元的啟用,用relu替換了sigmoid。

參考文章:

1首先,獲取minist的資料報。

cd $caffe_root

./data/mnist/get_mnist.sh
然後

./examples/mnist/create_mnist.sh
利用caffe-master/build/examples/mnist/的convert_mnist_data.bin工具,將mnist date轉化為可用的lmdb格式的檔案。並將新生成的2個檔案mnist-train-lmdb 和 mnist-test-lmdb放於create_mnist.sh同目錄下。

當然,也可以根據需要用它生成leveldb格式的檔案,只需要修改backend=「leveldb」即可,目前所學到的有這兩種常用的格式。

2.然後是訓練部分

乙個caffe的工程主要包含兩個部分:網路模型,引數配置,分別對應*.prototxt ,*_solver.prototxt檔案。

在該檔案中定義了一些與模型訓練有關的引數,包括初始學習率、momentum、權重衰減係數、最大迭代數、模型生成路徑(snapshot_prefix)、使用cpu還是gpu等引數。可根據需要進行修改。 然後

./examples/mnist/train_lenet.sh

由於不知道是硬體菜還是only cpu的原因,訓練十分慢(15min)……

訓練完生成四個檔案

lenet_iter_10000.caffemodel         lenet_iter_10000.solverstate      lenet_iter_5000.caffemodel         lenet_iter_5000.solverstate

其中兩個caffemodel檔案lenet_iter_5000.caffemodel與lenet_iter_10000.caffemodel為我們測試時所需要的,它們分別存放著程式迭代5000次與10000次後網路的引數。

3.使用模型進行測試

caffe有三種編譯方式 命令列、python、matlab.這裡使用的是命令列的方法

/build/tools/caffe.bin test -model=examples/mnist/lenet_train_test.prototxt -weights=examples/mnist/lenet_iter_10000.caffemodel

test:表示對訓練好的模型進行testing,而不是training。其他引數包括train, time, device_query。

-model=***:指定模型prototxt檔案.

gpu的話需要在後面加上 -gpu=0

或者是編寫指令碼,cd到./caffe/examples/mnist

touch test_lenet.sh #生成.sh檔案

sudo vim test_lenet.sh

#進入.sh檔案鍵入內容

#鍵入的內容為

#!/usr/bin/env

sh"空行"

./build/tools/caffe test --model=examples/mnist/lenet_train_test.prototxt --weights=examples/mnist/lenet_iter_10000.caffemodel

-iterations 100

然後返回caffe_root

sudo sh ./examples/mnist/test_lenet.sh

最後的話應該會輸出

i1111 21:11:52.804616  5582 caffe.cpp:330] accuracy = 0.9868

i1111 21:11:52.804626 5582 caffe.cpp:330] loss = 0.0417311 (* 1 = 0.0417311 loss)

人工智慧學習(2)MNIST手寫識別高階

接下來開始接觸深度學習的內容 卷積神經網路 cnn 通過加入卷積網路來改善單一softmax回歸 隨機梯度下降 的結果 import tensorflow as tf from tensorflow core.examples.tutorials.mnist import input data de...

caffe執行自帶的mnist

sh data mnist get mnist.sh但是這些檔案是不能夠直接使用的,因此 sh examples mnist create mnist.sh轉換為lmdb檔案,轉換之後會在examples mnist下面還是生成 mnist train lmdb mnist test lmdb 裡面...

Caffe學習筆記2

先做乙個臨時資料夾 mkdir examples temp 為待處理的檔案生成乙個檔案列表,這些在examples images資料夾下 find pwd examples images type f exec echo examples temp temp.txt 我們將使用預計標籤之後的每乙個檔...