本文主要是給大家介紹了caffe的python插口生成deploy文件學(xué)習(xí)培訓(xùn)及其用練習(xí)好一點(diǎn)的實(shí)體模型(caffemodel)來(lái)歸類新的圖片實(shí)例詳細(xì)說(shuō)明,感興趣的小伙伴可以參考借鑒一下,希望可以有一定的幫助,祝愿大家多多的發(fā)展,盡早漲薪
caffe的python插口生成deploy文件
假如要將練習(xí)好一點(diǎn)的實(shí)體模型用于檢測(cè)新的圖片,那必然必須得一個(gè)deploy.prototxt文件,這一文檔事實(shí)上和test.prototxt文件基本上,僅僅首尾各不相同而也。deploy文件并沒有一層數(shù)據(jù)傳送層,都沒有最后Accuracy層,但之后多出一個(gè)Softmax幾率層。
接下來(lái)我們選用編碼的方式去一鍵生成該文檔,以mnist為例子。
deploy.py
#-*-coding:utf-8-*- from caffe import layers as L,params as P,to_proto root='/home/xxx/' deploy=root+'mnist/deploy.prototxt'#文件保存路徑 def create_deploy(): #少了第一層,data層 conv1=L.Convolution(bottom='data',kernel_size=5,stride=1,num_output=20,pad=0,weight_filler=dict(type='xavier')) pool1=L.Pooling(conv1,pool=P.Pooling.MAX,kernel_size=2,stride=2) conv2=L.Convolution(pool1,kernel_size=5,stride=1,num_output=50,pad=0,weight_filler=dict(type='xavier')) pool2=L.Pooling(conv2,pool=P.Pooling.MAX,kernel_size=2,stride=2) fc3=L.InnerProduct(pool2,num_output=500,weight_filler=dict(type='xavier')) relu3=L.ReLU(fc3,in_place=True) fc4=L.InnerProduct(relu3,num_output=10,weight_filler=dict(type='xavier')) #最后沒有accuracy層,但有一個(gè)Softmax層 prob=L.Softmax(fc4) return to_proto(prob) def write_deploy(): with open(deploy,'w')as f: f.write('name:"Lenet"n') f.write('input:"data"n') f.write('input_dim:1n') f.write('input_dim:3n') f.write('input_dim:28n') f.write('input_dim:28n') f.write(str(create_deploy())) if __name__=='__main__': write_deploy()
運(yùn)作該文檔后,會(huì)在mnist目錄下,形成一個(gè)deploy.prototxt文件。
這一文檔不建議用編碼來(lái)形成,反倒是繁瑣。大伙兒了解之后能將test.prototxt拷貝1份,改動(dòng)相對(duì)應(yīng)的地方就行了,方便快捷。
練習(xí)好一點(diǎn)的實(shí)體模型caffemodel歸類新圖片
通過(guò)前邊的學(xué)習(xí)培訓(xùn),己經(jīng)練習(xí)好啦一個(gè)caffemodel實(shí)體模型,并形成了一個(gè)deploy.prototxt文件,如今我們就通過(guò)這兩文檔來(lái)對(duì)于新的圖片開展分類預(yù)測(cè)。
大家從mnist數(shù)據(jù)的test集中化隨意找一張照片,用于開展試驗(yàn)。
#coding=utf-8 import caffe import numpy as np root='/home/xxx/'#根目錄 deploy=root+'mnist/deploy.prototxt'#deploy文件 caffe_model=root+'mnist/lenet_iter_9380.caffemodel'#訓(xùn)練好的caffemodel img=root+'mnist/test/5/00008.png'#隨機(jī)找的一張待測(cè)圖片 labels_filename=root+'mnist/test/labels.txt'#類別名稱文件,將數(shù)字標(biāo)簽轉(zhuǎn)換回類別名稱 net=caffe.Net(deploy,caffe_model,caffe.TEST)#加載model和network #圖片預(yù)處理設(shè)置 transformer=caffe.io.Transformer({'data':net.blobs['data'].data.shape})#設(shè)定圖片的shape格式(1,3,28,28) transformer.set_transpose('data',(2,0,1))#改變維度的順序,由原始圖片(28,28,3)變?yōu)?3,28,28) #transformer.set_mean('data',np.load(mean_file).mean(1).mean(1))#減去均值,前面訓(xùn)練模型時(shí)沒有減均值,這兒就不用 transformer.set_raw_scale('data',255)#縮放到【0,255】之間 transformer.set_channel_swap('data',(2,1,0))#交換通道,將圖片由RGB變?yōu)锽GR im=caffe.io.load_image(img)#加載圖片 net.blobs['data'].data[...]=transformer.preprocess('data',im)#執(zhí)行上面設(shè)置的圖片預(yù)處理操作,并將圖片載入到blob中 #執(zhí)行測(cè)試 out=net.forward() labels=np.loadtxt(labels_filename,str,delimiter='t')#讀取類別名稱文件 prob=net.blobs['Softmax1'].data[0].flatten()#取出最后一層(Softmax)屬于某個(gè)類別的概率值,并打印 print prob order=prob.argsort()[-1]#將概率值排序,取出最大值所在的序號(hào) print'the class is:',labels[order]#將該序號(hào)轉(zhuǎn)換成對(duì)應(yīng)的類別名稱,并打印 最后輸出the class is:5
分類正確。
如果是預(yù)測(cè)多張圖片,可把上面這個(gè)文件寫成一個(gè)函數(shù),然后進(jìn)行循環(huán)預(yù)測(cè)就可以了。
綜上所述,這篇文章就給大家介紹完畢了,希望可以給大家?guī)?lái)幫助。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/128757.html
此篇文章主要是詳細(xì)介紹了caffe的python接口caffemodel指標(biāo)及特征抽取實(shí)例詳細(xì)說(shuō)明,感興趣的小伙伴可以參考借鑒一下,希望可以有一定的幫助,祝愿大家多多的發(fā)展,盡早漲薪 文章正文 如果使用公式計(jì)算y=f(wx+b) 來(lái)描述全部計(jì)算全過(guò)程得話,那樣w和b是我們必須鍛煉的物品,w稱之為權(quán)重值,在cnn之中能夠稱為池化層(filter),b是偏置項(xiàng)。f是激活函數(shù),有sigmoid...
文中主要是給大家介紹了caffe的python插口之手寫數(shù)字識(shí)別mnist案例詳細(xì)說(shuō)明,感興趣的小伙伴可以參考借鑒一下,希望可以有一定的幫助,祝愿大家多多的發(fā)展,盡早漲薪 論文引言 機(jī)器學(xué)習(xí)第一個(gè)案例一般都是是mnist,只需這個(gè)案例徹底搞懂了,其他的便是觸類旁通的事了。因?yàn)樽謹(jǐn)?shù)緣故,文中不簡(jiǎn)單介紹環(huán)境變量里邊每一個(gè)指標(biāo)的具體函義,如果要搞明白的,請(qǐng)參考我之前的微博文章: 數(shù)據(jù)訪問(wèn)層及主...
閱讀 911·2023-01-14 11:38
閱讀 878·2023-01-14 11:04
閱讀 740·2023-01-14 10:48
閱讀 1982·2023-01-14 10:34
閱讀 942·2023-01-14 10:24
閱讀 819·2023-01-14 10:18
閱讀 499·2023-01-14 10:09
閱讀 572·2023-01-14 10:02