天天看點

win10環境下cpu版本caffe訓練mnist資料集的心得 openmv機器學習卷積神經網絡訓練步驟二

win10環境下cpu版本caffe訓練mnist資料集的心得 openmv機器學習卷積神經網絡訓練步驟二

Caffe快速上手 mnist資料集分類

1.下載下傳資料集

yann.lecun.com/exdb/mnist/ (網絡要求高,另附以下下載下傳方式)

連結:https://pan.baidu.com/s/1ADDhMGx5QBYydY84G7dshw

提取碼:4f74

win10環境下cpu版本caffe訓練mnist資料集的心得 openmv機器學習卷積神經網絡訓練步驟二

将所下載下傳的4個(壓縮包)二進制資料集放入caffe目錄下example下的mnist下建立的mnist_data檔案下,并解壓到該檔案下,如下圖

win10環境下cpu版本caffe訓練mnist資料集的心得 openmv機器學習卷積神經網絡訓練步驟二

2.将下載下傳的二進制檔案轉換成LEVELDB或LMDB格式的檔案

之前編譯輸出的檔案下caffe-windows ->Build->x64 ->Dubug目錄下有一個convert_mnist_data.exe檔案,此檔案可實作檔案格式轉換功能

win10環境下cpu版本caffe訓練mnist資料集的心得 openmv機器學習卷積神經網絡訓練步驟二

在caffe-windows ->example->mnist檔案夾下建立bat檔案,再bat檔案夾下建立convert_train_lmdb.bat,用notepad++編輯如下文字

%執行資料轉換程式%

%傳入訓練圖檔%

%傳入訓練圖檔的标簽%

%轉換後的資料存放在此目錄%

E:\caffe-cpu\caffe-windows\Build\x64\Debug\convert_mnist_data.exe ^

E:\caffe-cpu\caffe-windows\examples\mnist\MNIST_data\train-images.idx3-ubyte ^

E:\caffe-cpu\caffe-windows\examples\mnist\MNIST_data\train-labels.idx1-ubyte ^

E:\caffe-cpu\caffe-windows\examples\mnist\lmdb\train_lmdb

檔案的路徑需要根據自己的存放路徑進行修改

注意:第四行需要在mnist檔案夾下建立lmdb檔案,但是不需要在lmdb檔案下建立train_lmdb,此檔案會自動生成。修改好之後儲存,然後輕按兩下此bat檔案即可執行該檔案,執行完之後的結果時lmdb檔案夾下會建立一個train_lmdb的檔案如下圖

win10環境下cpu版本caffe訓練mnist資料集的心得 openmv機器學習卷積神經網絡訓練步驟二

同理,在在caffe-windows ->example->mnist ->bat檔案夾下建立convert_test_lmdb.bat,用notepad++編輯如下文字

> %執行資料轉換程式%
>  %傳入測試圖檔% 
>  %傳入測試圖檔的标簽% 
>  %轉換後的資料存放在此目錄%
> 
> E:\caffe-cpu\caffe-windows\Build\x64\Debug\convert_mnist_data.exe ^
> E:\caffe-cpu\caffe-windows\examples\mnist\MNIST_data\t10k-images.idx3-ubyte ^
> E:\caffe-cpu\caffe-windows\examples\mnist\MNIST_data\t10k-labels.idx1-ubyte ^ 
> E:\caffe-cpu\caffe-windows\examples\mnist\lmdb\test_lmdb pause
           

檔案的路徑也是需要自己根據自己的存放路徑進行修改的,同樣test_lmdb不需要自己建立,儲存好之後,輕按兩下convert_test_lmdb.bat檔案運作,得到如下圖:

win10環境下cpu版本caffe訓練mnist資料集的心得 openmv機器學習卷積神經網絡訓練步驟二

3.修改網絡模型描述檔案

在mnist檔案夾下會有一個lenet_train_test.prototxt檔案,需要對其進行修改

win10環境下cpu版本caffe訓練mnist資料集的心得 openmv機器學習卷積神經網絡訓練步驟二

使用notepad++打開進行編輯

win10環境下cpu版本caffe訓練mnist資料集的心得 openmv機器學習卷積神經網絡訓練步驟二

主要是把剛剛生成的lmdb的路徑進行修改,train_lmdb和test_lmdb注意複制過來的路徑斜杠是這樣的\,需要把\變成/,切記。

之後打開mnist下的lenet_solver.prototxt檔案,對其進行修改

win10環境下cpu版本caffe訓練mnist資料集的心得 openmv機器學習卷積神經網絡訓練步驟二

也主要是路徑的修改

win10環境下cpu版本caffe訓練mnist資料集的心得 openmv機器學習卷積神經網絡訓練步驟二

Net路徑修改成剛剛那個lenet_train_test.prototxt,注意修改成反斜杠/

max_iter:10000 總共訓練10000次

Snapshot:5000 每5000次輸出一次

模型檔案存放目錄snapshot_prefix:需要自己設定

Solver_model: cpu 使用CPU訓練

4.訓練模型

在bat檔案夾下建立train.bat檔案

進行修改

> %train訓練資料% 
>  %超參數檔案%
> 
> E:\caffe-cpu\caffe-windows\Build\x64\Debug\caffe.exe train ^
> -solver=E:/caffe-cpu/caffe-windows/examples/mnist/lenet_solver.prototxt
> pause
           

注意:修改為自己的路徑,第一行斜杠為\,第二行斜杠為/。修改完成後就可以訓練了,一般情況下cpu訓練一個小時左右(i7-9750H親測48分鐘)

Pause是訓練結束後會停住

按照我的教程,訓練好的檔案會存放到mnist檔案下

win10環境下cpu版本caffe訓練mnist資料集的心得 openmv機器學習卷積神經網絡訓練步驟二

在mnist檔案下建立model檔案,把這四個檔案放進去。

5.準備好要測試的圖檔

下載下傳連結:

連結:https://pan.baidu.com/s/1Zw3Ji0rwN9ETlWn7A2xDsw

提取碼:sycr

下載下傳好之後放入到mnist_data檔案夾下,檔案名為0-9,裡邊有10張28*28像素的圖檔,在bat檔案夾下建立一個mnist_mean.bat檔案,并進行編輯

> %計算均值程式% 
> %train_lmdb% 
> %均值檔案存放路徑%
> 
> E:\caffe-cpu\caffe-windows\Build\x64\Debug\compute_image_mean.exe ^
> E:\caffe-cpu\caffe-windows\examples\mnist\lmdb\train_lmdb ^
> E:\caffe-cpu\caffe-windows\examples\mnist\mean_file\mean.binaryproto
> Pause
           

路徑修改成自己的路徑,需要在mnist檔案夾下建立mean_file檔案,不需要建立mean.binaryproto,否則會報錯,儲存之後運作,運作完會在mean_file檔案夾下生成一個mean.binaryproto檔案

win10環境下cpu版本caffe訓練mnist資料集的心得 openmv機器學習卷積神經網絡訓練步驟二

6.準備标簽并測試分類效果

在mnist檔案夾下建立label檔案夾,建立label.txt,對其進行編輯如下并儲存

win10環境下cpu版本caffe訓練mnist資料集的心得 openmv機器學習卷積神經網絡訓練步驟二

在bat檔案夾下建立mnist_classification.bat并進行編輯

> %分類可執行程式% 
> %網絡結構% 
> %訓練好的模型%
>  %均值檔案% 
>  %标簽% 
>  %要分類的圖檔%
> 
> E:\caffe-cpu\caffe-windows\Build\x64\Debug\classification.exe ^
> E:\caffe-cpu\caffe-windows\examples\mnist\lenet.prototxt ^
> E:\caffe-cpu\caffe-windows\examples\mnist\models\lenet_iter_10000.caffemodel ^
>  E:\caffe-cpu\caffe-windows\examples\mnist\mean_file\mean.binaryproto ^ 
> E:\caffe-cpu\caffe-windows\examples\mnist\label\label.txt ^
> E:\caffe-cpu\caffe-windows\examples\mnist\MNIST_data\0-9\5.bmp Pause
           

更改成自己的路徑,随意選取一張圖檔,以5為例

運作結果如下,即為5的準确率為100%

win10環境下cpu版本caffe訓練mnist資料集的心得 openmv機器學習卷積神經網絡訓練步驟二

慢慢來,這隻是安裝好之後的測試,如果需要訓練自己的模型,首先需要采集照片,大概一個類别至少800張,需要後邊的教程,部落格第二次寫,第一次寫的慘不忍睹,這次希望有點進步