深度学习框架Caffe学习笔记(6)-测试自己的手写数字图片
在之前的實(shí)驗(yàn)中我們使用過(guò)
$ ./build/tools/caffe.bin test \
-model examples/mnist/lenet_train_test.prototxt \
-weights examples/mnist/lenet_iter_10000.caffemodel \
-iterations 100
命令來(lái)測(cè)試訓(xùn)練好的網(wǎng)絡(luò)。這主要用于測(cè)試網(wǎng)絡(luò)的準(zhǔn)確率。
但如想用自己的手寫(xiě)數(shù)字,通過(guò)訓(xùn)練好的模型來(lái)識(shí)別這個(gè)數(shù)字,怎么做呢?
可以使用Caffe中build/examples/cpp_classification/classification.bin這個(gè)程序來(lái)實(shí)現(xiàn)。
接下來(lái)開(kāi)始準(zhǔn)備這幾個(gè)文件
模型描述文件
將lenet_train_test.prototxt復(fù)制一份修改如下
// 將訓(xùn)練和測(cè)試用的mnist層刪除,添加以下層 name: "LeNet" layer {name: "data"type: "Input"top: "data"input_param { shape: { dim: 1 dim: 1 dim: 28 dim: 28 } } } ...... // 中間的模型不改動(dòng),省略 ...... // 將accuracy層和loss層刪除,添加以下層 layer {name: "prob"type: "Softmax"bottom: "ip2"top: "prob" }權(quán)值描述文件
訓(xùn)練好網(wǎng)絡(luò)后examples/mnist/目錄下就會(huì)會(huì)有l(wèi)enet_iter_10000.caffemodel這個(gè)文件。
圖像均值文件
Caffe框架為我們提供了一個(gè)計(jì)算均值的文件compute_image_mean.cpp,放在caffe根目錄下的tools文件夾里面。編譯后的可執(zhí)行體放在 build/tools/ 下面,我們直接調(diào)用就可以了
$ sudo build/tools/compute_image_mean examples/mnist/mnist_train_lmdb examples/mnist/mean.binaryproto帶兩個(gè)參數(shù):
第一個(gè)參數(shù):examples/mnist/mnist_train_lmdb, 表示需要計(jì)算均值的數(shù)據(jù),格式為lmdb的訓(xùn)練數(shù)據(jù)。
第二個(gè)參數(shù):examples/mnist/mean.binaryproto, 計(jì)算出來(lái)的結(jié)果保存文件。
標(biāo)簽文件
新建label.txt,每行一個(gè)數(shù)字,0到9。
0 1 2 3 4 5 6 7 8 9輸入待分類圖像
這個(gè)自己拿畫(huà)圖工具畫(huà)一個(gè)就好。由于訓(xùn)練集中的數(shù)據(jù)都是黑底白字的,所以如果自己寫(xiě)是是白底黑字的圖片可能識(shí)別不準(zhǔn)確。
開(kāi)始測(cè)試
$ ./build/examples/cpp_classification/classification.bin \ examples/mnist/classificat_net.prototxt \ examples/mnist/lenet_iter_10000.caffemodel \ examples/mnist/mean.binaryproto examples/mnist/label.txt \ examples/mnist/0.png ---------- Prediction for examples/mnist/0.png ---------- 1.0000 - "0" 0.0000 - "1" 0.0000 - "3" 0.0000 - "4" 0.0000 - "2"結(jié)果顯示圖片中的數(shù)字為0。
總結(jié)
以上是生活随笔為你收集整理的深度学习框架Caffe学习笔记(6)-测试自己的手写数字图片的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 基于51单片机的花样流水灯设计
- 下一篇: 本地缓存之王——Caffeine 组件最