【Python学习】 caffe-master 之 mnist 详解
作者:佛山小程序員
原文:https://blog.csdn.net/weixin_44192923/article/details/86563313
第一步:
官網下載mnist數據http://yann.lecun.com/exdb/mnist/,共4個文件,解壓放到caffe-master\data\mnist下
最近開始整理python的資料,會陸續放到博客中存檔。找了幾個qq群,其中有一個群78486745。后面就沒怎么加群了,還是需要看官方文檔為主第二步:
轉換成caffe需要的數據格此處轉換為 LMDB(cifar是轉換成 LEVELDB,可對比參考如何實現的) ,轉換格式需要用到caffe里的項目convert_mnist_data ,這個convert_mnist_data.exe程序是放在caffe-master\Build\x64\Release下,如果是用 debug生成的解決方案,則是在caffe-master\Build\x64\Debug下,這個在寫 bat文件的時候要注意更改相應的路徑。
在caffe-master\data\mnist下新建一個文本文檔,更改后綴為 .bat 在里面復制以下code:
…\Build\x64\Release\convert_mnist_data.exe …\data\mnist\train-images.idx3-ubyte …\data\mnist\train-labels.idx1-ubyte …\examples\mnist\mnist_train_lmdb
echo.
…\Build\x64\Release\convert_mnist_data.exe …\data\mnist\t10k-images.idx3-ubyte …\data\mnist\t10k-labels.idx1-ubyte …\examples\mnist\mnist_test_lmdb
pause
其實第一個路徑就是 exe文件所在路徑, 后面兩個就是數據所在路徑,最后一個是輸出文件路徑
保存后,雙擊運行
(PS:想轉換成LEVELDB格式的話,只需要在.bat文件中把 mnist_train_lmdb改成mnist_train_leveldb ,有兩處喔! )
第三步:
更改lenet_train_test.prototxt 和lenet_solver.prototxt文件,主要是改數據的路徑以及數據的格式(默認LMDB,若在第二步轉成了LEVELD的話,要改成LEVELDB )
首先 lenet_train_test.prototxt改的有
source: "../../examples/mnist/mnist_train_lmdb"batch_size: 64backend: LMDBsource:"../../examples/mnist/mnist_test_lmdb"batch_size: 100backend: LMDBlenet_solver.prototxt改的有
net:"…/…/examples/mnist/lenet_train_test.prototxt"
snapshot_prefix:"…/…/examples/mnist/lenet"
若用CPU在最后一行改成 CPU
第四步:
開始訓練,和之前我博客里cifar10一樣,有兩種方法,這里只介紹第一種方法,用批處理文件的方法(想知道第二種方法的請查看之前博客http://blog.csdn.net/u011995719/article/details/53998331)
在caffe-master\examples\mnist 下建立文本文檔,后綴改為 .bat 復制以下code:
…\Build\x64\Release\caffe.exe train–solver=…/…/examples/mnist/lenet_solver.prototxt
Pause
保存,雙擊運行,彈出命令窗,等待訓練結束,我的顯卡是 GTX 960M ,只需要1分07秒就迭代了10000次,準確率 0.9915(用了一臺i3的筆記本,cpu跑的,用了17分鐘!)
PS: 總結兩個遇到問題:
- 1轉換數據時候要確定轉換的是 LMDB還是LEVELDB,這個是在一開始轉換的時候設置的,一旦設置,在后面的train_test.prototxt文件中一定要對應的改過來,切記,切記。
- 2.Debug 和 Release ,這個是在VS2013中選擇的,具體有什么區別我不太清楚(百度了,說對使用問題不大),但是我們在調用例如 convert_mnist_data.exe 、compute_image_mean.exe等這些 應用程序時,要選擇路徑,一定要看清楚你生成的是在Debug文件夾(caffe-master\Build\x64\Debug)里還是在Release(caffe-master\Build\x64\Release)里,如果你生成的是在Debug里,而調用的時候是用路徑:. Build\x64\Release 的話,就會出現如下錯誤:
當然,可以在VS2013中分別 選擇 Debug和Release 進行生成,這樣就不用擔心第二個問題啦。
歡迎加群討論
總結
以上是生活随笔為你收集整理的【Python学习】 caffe-master 之 mnist 详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 已经显现了出来的飞秋下载
- 下一篇: Win 10 或可以运行安卓APP