caffe中的caffemodel参数提取方法

需要的文件为:deploy.prototxt

                         caffemodel

net = caffe.Net(deploy.txt,caffe_model,caffe.TEST)
具体代码:

import caffe
import numpy as np
root='/home/xxx/' #根目录
deploy=root + 'mnist/deploy.prototxt' #deploy文件
caffe_model=root + 'mnist/lenet_iter_9380.caffemodel' #训练好的 caffemodel
net = caffe.Net(deploy,caffe_model,caffe.TEST) #加载model和network

[(k,v[0].data.shape) for k,v in net.params.items()] #查看各层参数规模
w1=net.params['Convolution1'][0].data #提取参数w
b1=net.params['Convolution1'][1].data #提取参数b

net.forward() #运行测试

[(k,v.data.shape) for k,v in net.blobs.items()] #查看各层数据规模
fea=net.blobs['InnerProduct1'].data #提取某层数据(特征)

posted @ 2019-01-17 17:00  老王哈哈哈  阅读(1578)  评论(0编辑  收藏  举报