為了程序的簡潔,在caffe中是不帶練習數據的,因此需要自己去下載。但在caffe根目錄下的data文件夾里,作者已經為我們編寫好了下載數據的腳本文件,我們只需要聯網,運行這些腳本文件就行了。
? ? ? ? Mnist介紹:mnist是一個手寫數字庫,由DL大牛YanLeCun進行維護。mnist最初用于支票上的手寫數字識別,現在成了DL的入門練習庫。征對mnist識別的專門模型是Lenet,算是最早的cnn模型了。mnist數據訓練樣本為60000張,測試樣本為10000張,每個樣本為28*28大小的黑白圖片,手寫數字為0-9,因此分為10類。
注意:在caffe中運行所有程序,都必須在根目錄下進行,否則會出錯
第一步:打開caffe根目錄?
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數據
第三步:轉換成LMDB數據
我剛開始在執行這條指令的時候出現問題,大概錯誤意思就是,某某文件不存在不能發現。
后來解決辦法是:將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根目錄下執行: ??
成功運行,在泰坦顯卡的機子上運行時間大概是3分鐘,因為機子有英偉達的顯卡,GPU-CUDA也裝好,所以就沒有修改配置文件這一步。
精度為99.03%。