最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

caffe的python接口caffemodel參數(shù)及特征抽取示例

 更新時(shí)間:2022年06月29日 14:56:44   作者:denny402  
這篇文章主要介紹了caffe的python接口caffemodel參數(shù)及特征抽取示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

正文

如果用公式  y=f(wx+b)

來表示整個(gè)運(yùn)算過程的話,那么w和b就是我們需要訓(xùn)練的東西,w稱為權(quán)值,在cnn中也可以叫做卷積核(filter),b是偏置項(xiàng)。f是激活函數(shù),有sigmoid、relu等。x就是輸入的數(shù)據(jù)。

數(shù)據(jù)訓(xùn)練完成后,保存的caffemodel里面,實(shí)際上就是各層的w和b值。

我們運(yùn)行代碼:

deploy=root + 'mnist/deploy.prototxt'    #deploy文件
caffe_model=root + 'mnist/lenet_iter_9380.caffemodel'   #訓(xùn)練好的 caffemodel
net = caffe.Net(net_file,caffe_model,caffe.TEST)   #加載model和network

就把所有的參數(shù)和數(shù)據(jù)都加載到一個(gè)net變量里面了,但是net是一個(gè)很復(fù)雜的object, 想直接顯示出來看是不行的。其中:

net.params: 保存各層的參數(shù)值(w和b)

net.blobs: 保存各層的數(shù)據(jù)值

可用命令:

[(k,v[0].data) for k,v in net.params.items()]

查看各層的參數(shù)值,其中k表示層的名稱,v[0].data就是各層的W值,而v[1].data是各層的b值。注意:并不是所有的層都有參數(shù),只有卷積層和全連接層才有。

也可以不查看具體值,只想看一下shape,可用命令

[(k,v[0].data.shape) for k,v in net.params.items()]

假設(shè)我們知道其中第一個(gè)卷積層的名字叫'Convolution1', 則我們可以提取這個(gè)層的參數(shù):

w1=net.params['Convolution1'][0].data
b1=net.params['Convolution1'][1].data

輸入這些代碼,實(shí)際查看一下,對你理解network非常有幫助。

同理,除了查看參數(shù),我們還可以查看數(shù)據(jù),但是要注意的是,net里面剛開始是沒有數(shù)據(jù)的,需要運(yùn)行:

net.forward()

之后才會(huì)有數(shù)據(jù)。我們可以用代碼:

[(k,v.data.shape) for k,v in net.blobs.items()]

[(k,v.data) for k,v in net.blobs.items()]

來查看各層的數(shù)據(jù)。注意和上面查看參數(shù)的區(qū)別,一個(gè)是net.params, 一個(gè)是net.blobs.

實(shí)際上數(shù)據(jù)剛輸入的時(shí)候,我們叫圖片數(shù)據(jù),卷積之后我們就叫特征了。

如果要抽取第一個(gè)全連接層的特征,則可用命令:

fea=net.blobs['InnerProduct1'].data

只要知道某個(gè)層的名稱,就可以抽取這個(gè)層的特征。

推薦大家在spyder中,運(yùn)行一下上面的所有代碼,深入理解模型各層。

最后,總結(jié)一個(gè)代碼:

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
net = caffe.Net(deploy,caffe_model,caffe.TEST)   #加載model和network
[(k,v[0].data.shape) for k,v in net.params.items()]  #查看各層參數(shù)規(guī)模
w1=net.params['Convolution1'][0].data  #提取參數(shù)w
b1=net.params['Convolution1'][1].data  #提取參數(shù)b
net.forward()   #運(yùn)行測試

[(k,v.data.shape) for k,v in net.blobs.items()]  #查看各層數(shù)據(jù)規(guī)模
fea=net.blobs['InnerProduct1'].data   #提取某層數(shù)據(jù)(特征)

以上就是caffe的python接口caffemodel參數(shù)及特征抽取的詳細(xì)內(nèi)容,更多關(guān)于python caffemodel參數(shù)特征抽取的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論

治县。| 八宿县| 凤凰县| 惠安县| 怀化市| 桓台县| 科尔| 安达市| 家居| 丽江市| 藁城市| 高邑县| 郑州市| 泸定县| 沙雅县| 广州市| 改则县| 沙湾县| 邢台县| 客服| 武强县| 方正县| 南城县| 天门市| 揭阳市| 鹤岗市| 叶城县| 大埔县| 德惠市| 嘉义县| 扶风县| 永胜县| 舟山市| 包头市| 高雄市| 临洮县| 陇川县| 祁门县| 沾益县| 五常市| 昆明市|