1. 程式人生 > >caffe練習例項(1)——訓練mnist資料集

caffe練習例項(1)——訓練mnist資料集

1.簡介

這是一個非常簡單的例項,主要是為了這個簡單的例項瞭解caffe的工作流程。

2.操作流程

1.獲取資料

在caffe-master/data/mnist資料夾中只有一個get_mnist.sh可執行檔案,我們需要執行這個檔案獲取mnist所需要的資料。
  • 執行命令:./data/mnist/get_mnist.sh
  • get_mnist.sh原始碼解析:
    這裡寫圖片描述
    通過原始碼我們可以知道,這個指令碼主要是下載t10k-images-idx3-ubyte t10k-labels-idx1-ubyte train-images-idx3-ubyte train-labels-idx1-ubyte 這四個檔案 然後解壓
  • 執行完命令後的檔案目錄:
    這裡寫圖片描述
    get_mnist.sh檔案是原有的,其他四個檔案是下載的。

2.將資料轉化為lmdb格式

  • 命令:./examples/mnist/create_mnist.sh
    這裡寫圖片描述
  • 注意:在這裡可能會遇到一個bug,如下:
    • 問題描述:
      這裡寫圖片描述
    • 原因是:指令碼執行必須在caffe資料夾的根目錄下執行,,而我在examples/mnist/目錄下執行指令碼,所以報錯。

3.訓練

  • 命令:./examples/mnist/train_lenet.sh

  • train_lenet.sh原始碼解析:

    • 原始碼:這裡寫圖片描述
    • 解釋:train是我們在安裝caffe的時候已經編譯好的二進位制檔案,tools資料夾中還有很多工具,訓練呼叫的是caffe原始碼中tools資料夾中的二進位制檔案,solver後面跟的是定義優化方式的prototxt檔案
  • 注意:訓練的時候,如果安裝的時候選擇了CPU_ONLY的話,在*.prototxt檔案中,把“mode:GPU”改成“mode:CPU”

  • lenet_solver.prototxt檔案原始碼解析:
    這裡寫圖片描述

4.結果

這裡寫圖片描述

這裡僅用CPU進行訓練,大概用15分鐘左右,準確率為99.13%。