1. 程式人生 > >caffe目標檢測模型訓練全過程(二)python載入caffemodel分類

caffe目標檢測模型訓練全過程(二)python載入caffemodel分類

繼上篇 caffe目標檢測模型訓練全過程(一)指令碼、資料準備與製作
之後,我們訓練出來了其模型,如圖所示:
這裡寫圖片描述
models2_iter_70000.caffemodel 就是需要呼叫的模型,70000表示模型訓練了70000次後所儲存的模型,其他也是一樣的。

記下來,使用python載入模型,然後進行識別,首先對處理好的227*227大小的處理好的圖片進行識別。
程式碼如下:

net_full_conv = caffe.Net('../deploy.prototxt',
                              '../models2_iter_50000.caffemodel',
                              caffe.TEST)
# 載入圖片
im = caffe.io.load_image('scale_img.jpg') print(im.shape) transformer = caffe.io.Transformer({'data': net_full_conv.blobs['data'].data.shape}) #transformer.set_mean('data', np.load(caffe_root + 'python/caffe/imagenet/ilsvrc_2012_mean.npy').mean(1).mean(1)) transformer.set_transpose('data', (2,0,1)) transformer.set_channel_swap('data'
, (2,1,0)) transformer.set_raw_scale('data', 255.0) transformed_image = transformer.preprocess('data', im) net_full_conv.blobs['data'].data[...] = transformed_image net_full_conv.blobs['data'].reshape(1,3,227,227) ### perform classification out = net_full_conv.forward() # make classification map by forward and print prediction indices at each location
# out = net_full_conv.forward_all(data=np.asarray([transformer.preprocess('data', im)])) #打印出類別 print (out['prob'],(x,y))