使用caffe訓練好的模型測試單張手寫數字

2021-07-31 08:20:08 字數 1150 閱讀 8345

使用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...