使用caffe訓練好的模型測試單張手寫數字
初次學習caffe的時候都會按照網上的教程,對caffe經典案例手寫字型識別進行訓練一下,很滿意,訓練完後可以獲得99%的準確率,而且可以獲得乙個訓練好的lenet_iter_10000.caffemodel這麼乙個模型。很多人會有困惑,有這麼乙個模型,我該怎麼去利用它來識別自己的手寫字型呢?下面我介紹一下怎麼使用python介面來使用這個模型測試單張手寫字型。前提是你必須首先得編譯一下caffe的python介面。說明一下我這裡使用的caffe介面是caffe-windows版本
先上**:
#匯入必要的模組
import numpy as np
import caffe
from skimage import io
modelfile='lenet.prototxt'
pretrain='lenet_iter_10000.caffemodel'
imagefile='f:\\mnist\\testimage\\pic2\\9\\37.bmp'
img=io.imread(imagefile)
io.imshow(img)
inputimage=caffe.io.load_image(imagefile,color=false)
net=caffe.classifier(modelfile,pretrain)
prediction=net.predict([inputimage],oversample=false)
caffe.set_mode_cpu()
print'predicted class:',prediction[0].argmax()
輸出結果:
注意,這裡我已經將caffe中所有的編譯好的python介面檔案拷貝到anacoda的相應檔案庫裡面,所以可以直接匯入使用,具體過程可以參考我的這篇部落格(windows caffepython介面編譯):
否則需要使用sys.path.insert()函式將caffe路徑載入進去,然後才能匯入caffe。
測試乙個訓練好的caffe模型
在學習caffe的過程中,訓練了出了模型出來,出了當時的準確率和loss值,並沒有看到給定輸入看到真正的輸出,這個時候需要測試一下訓練出來的模型,實際檢視一下效果,其中用到的配置檔案和網路模型在caffe的目錄下都有,自己測試自己的模型時需要修改為自己的 prototxt和 caffemodel u...
caffe練習例項(3) 使用訓練好的模型
input data input shapelayer include opencv2 dnn.hpp include opencv2 imgproc.hpp include opencv2 highgui.hpp using namespace cv using namespace cv dnn ...
用訓練好的caffe模型來測試樣本
如果要把訓練好的模型拿來測試新的樣本,那必須得要乙個deploy.prototxt檔案,這個檔案實際上和test.prototxt檔案差不多,只是頭尾不相同而已。deploy檔案沒有第一層資料輸入層,樣本是被直接輸入到net.blobs裡面的,也沒有最後的accuracy層,但最後多了乙個softm...