【caffe-Windows】mnist例項編譯之model的生成
阿新 • • 發佈:2019-01-29
其實這個和cifar的例項基本相同,只不過資料轉換的方法不一樣
【說明,此部落格按照我自己的路徑設定的相關操作,讀者如果自行選擇其他路徑,記得在bat和prototxt等檔案修改路徑】
第一步
為了避免部分人下載速度緩慢或者打不開網址,這個上傳了百度雲:連結:http://pan.baidu.com/s/1c2kHfgO 密碼:ffr7
下載以後放到如下路徑,並解壓,操作完畢的檔案如下,這個資料夾應該是在Linux下呼叫sh命令下載資料的地方,我們直接放到這裡面:
【這裡自己把解壓後的檔案重新命名一下,原始解壓後的檔案是"."而不是"-"】
第二步
資料格式的轉換,依舊是轉換為leveldb,不過和cifar的轉換方法不同
按照上圖,在對應路徑下新建一個bat檔案,內容如下:
set DATA=../../data/mnist set TOOLS=../../Build/x64/Release REM set BACKEND=lmdb set BACKEND=leveldb echo "Creating %BACKEND%..." rd /s /q "mnist_train_%BACKEND%" rd /s /q "mnist_test_%BACKEND%" "%TOOLS%/convert_mnist_data.exe" %DATA%/train-images-idx3-ubyte %DATA%/train-labels-idx1-ubyte mnist_train_%BACKEND% --backend=%BACKEND% "%TOOLS%/convert_mnist_data.exe" %DATA%/t10k-images-idx3-ubyte %DATA%/t10k-labels-idx1-ubyte mnist_test_%BACKEND% --backend=%BACKEND% echo "Done." pause
執行以後就會多出上圖的兩個資料夾。
【更新日誌2017-9-15】這一步很多人不會, 那就提供一個簡單點的轉換方法
轉換測試集:
..\..\Build\x64\Release\convert_mnist_data.exe train-images-idx3-ubyte train-labels-idx1-ubyte train_leveldb -backend=leveldb
pause
轉換訓練集:
..\..\Build\x64\Release\convert_mnist_data.exe train-images-idx3-ubyte train-labels-idx1-ubyte train_leveldb -backend=leveldb pause
第三步
【注意】可以發現cifar在這裡還計算過均值修改prototxt檔案,依舊是老地方,leveldb的路徑問題
第四步
【注意】如果你用的是CPU,記得修改lenet_solver.prototxt裡面最後一行為CPU
直接開始訓練了,同樣新建bat檔案,路徑和內容如下:
bat 的內容如下:
.\Build\x64\Release\caffe.exe train --solver=examples/mnist/lenet_solver.prototxt
pause
第五步
得到結果模型
.