mnist介紹:mnist是乙個手寫數字庫,由dl大牛yanlecun進行維護。mnist最初用於支票上的手寫數字識別,現在成了dl的入門練習庫。徵對mnist識別的專門模型是lenet,算是最早的cnn模型了。mnist資料訓練樣本為60000張,測試樣本為10000張,每個樣本為28*28大小的黑白,手寫數字為0-9,因此分為10類。
注意:在
caffe
中執行所有程式,都必須在根目錄下進行,否則會出錯
[objc]
view plain
copy
cd ~/caffe/caffe-master
[objc]
view plain
copy
sudo sh data/mnist/get_mnist
.sh
執行成功後,在caffe-master/data/mnist/目錄下有四個檔案:
train-images-idx3-ubyte:訓練集樣本 (9912422 bytes)
train-labels-idx1-ubyte: 訓練集對應標註 (28881 bytes)
t10k-images-idx3-ubyte: 測試集 (1648877 bytes)
t10k-labels-idx1-ubyte: 測試集對應標註 (4542 bytes)
這些資料不能在caffe中直接使用,需要轉換成lmdb資料
[objc]
view plain
copy
sudo sh examples/mnist/create_mnist
.sh
我剛開始在執行這條指令的時候出現問題,大概錯誤意思就是,某某檔案不存在不能發現。
後來解決辦法是:將caffe-master目錄下build資料夾剪下到桌面,通過指令開啟根目錄:cd ~/caffe/caffe-master,在它目錄下,重建乙個build資料夾:mkdirbuild,然後再進入build資料夾下,注意:是這個資料夾裡面。執行指令cmake..待執行完,再make以下,等它編譯完成並成功。
然後在caffe根目錄下面,重新執行第三步。這一次就通過了,轉換成功的標誌就是:會在caffe/caffe-master/examples/mnist/目錄下,生成兩個資料夾,分別是mnist_train_lmdb和mnist_test_lmdb,裡面存放的data.mdb和lock.mdb,就是我們需要的執行資料。
路徑問題,build=examples/mnist多說兩句:然而bin檔案不再這個目錄下,此目錄為cpp原始檔,
convert_mnist_data.bin檔案在caffe/build/examples/mnist下
但是build檔案是乙個符號鏈結鏈結位址為.build_release
所以更改路徑為
build=.build_release/examples/mnist
create_mnist.sh是利用caffe-master/build/examples/mnist/的convert_mnist_data.bin工具,將mnistdate轉化為可用的lmdb格式的檔案。並將新生成的2個檔案mnist-train-lmdb 和 mnist-test-lmdb放於create_mnist.sh同目錄下。
caffe根目錄下執行:
[objc]
view plain
copy
sudo time sh examples/mnist/train_lenet
.sh
成功執行,在泰坦顯示卡的機子上執行時間大概是3分鐘,因為機子有英偉達的顯示卡,gpu-cuda也裝好,所以就沒有修改配置檔案這一步。
精度為99.03%。
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例項教程
本文結合幾篇博文總結下來的,附上其中一篇原博文鏈結以供參考 1 先進入caffe檔案目錄,指令 cd caffe 再用data mnist下的get mnist.sh下載mnist資料集,如下 2 轉換格式,如下 examples mnist create mnist.sh 若出錯 examples...
caffe之MNIST基礎詳解
cd caffe root data mnist get mnist.sh examples mnist create mnist.sh 開啟lenet train test.prototxt檢視詳細資訊 資料層定義如下圖,需要注意的是source和backend,batch size也可以根據需要...