资讯专栏INFORMATION COLUMN

caffe的python接口caffemodel指标及特征抽取实例

89542767 / 189人阅读

  此篇文章主要是详细介绍了caffe的python接口caffemodel指标及特征抽取实例详细说明,感兴趣的小伙伴可以参考借鉴一下,希望可以有一定的帮助,祝愿大家多多的发展,尽早涨薪


  文章正文


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


  来描述全部计算全过程得话,那样w和b是我们必须锻炼的物品,w称之为权重值,在cnn之中能够称为池化层(filter),b是偏置项。f是激活函数,有sigmoid、relu等。x便是键入数据信息。


  算法训练结束后,储存的saffemodel里边,实际上是每层的w和b值。


  大家运行代码:


  deploy=root+'mnist/deploy.prototxt'#deploy文件
  caffe_model=root+'mnist/lenet_iter_9380.caffemodel'#训练好的caffemodel
  net=caffe.Net(net_file,caffe_model,caffe.TEST)#加载model和network

  就把自己的指标和数据载入到一个net自变量里了,但是net是个很繁杂的object,想要显现出来看肯定是不行的。在其中:


  net.params:储存每层的变量值(w和b)


  net.blobs:储存每层的数据值


  可以用指令:

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


  检查每层的变量值,其中k会话层名称,v[0].data便是每层的W值,而v[1].data是每层的b值。留意:并非所有的层都是有指标,唯有卷积层和池化层才会。


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


  也可以不用检查具体值,只想看一下shape,可以用指令

  net.forward()


  假定我们都知道在其中第一位卷积层名字叫'Convolution1',则我们能获取这一层指标:

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

  键入这种编码,具体查询一下,对自己的了解network有很大的帮助。

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


  同样,除开检查指标,我们也可以查询数据,可是需要注意的是,net里边一开始是无数据的,必须运作:


  来查看各层的数据。注意和上面查看参数的区别,一个是net.params,一个是net.blobs.


  实际上数据刚输入的时候,我们叫图片数据,卷积之后我们就叫特征了。


  如果要抽取第一个全连接层的特征,则可用命令:

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


  只要知道某个层的名称,就可以抽取这个层的特征。


  推荐大家在spyder中,运行一下上面的所有代码,深入理解模型各层。


  最后,总结一个代码:


  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#提取某层数据(特征)


  综上所述,代码就为大家介绍到这里了,希望可以为各位读者带来帮助。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/128754.html

相关文章

  • caffepython接口deploy形成caffemodel归类新图片

      本文主要是给大家介绍了caffe的python插口生成deploy文件学习培训及其用练习好一点的实体模型(caffemodel)来归类新的图片实例详细说明,感兴趣的小伙伴可以参考借鉴一下,希望可以有一定的帮助,祝愿大家多多的发展,尽早涨薪  caffe的python插口生成deploy文件  假如要将练习好一点的实体模型用于检测新的图片,那必然必须得一个deploy.prototxt文件,这一...

    89542767 评论0 收藏0
  • caffepython插口之手写数字识别mnist案例

      文中主要是给大家介绍了caffe的python插口之手写数字识别mnist案例详细说明,感兴趣的小伙伴可以参考借鉴一下,希望可以有一定的帮助,祝愿大家多多的发展,尽早涨薪  论文引言  机器学习第一个案例一般都是是mnist,只需这个案例彻底搞懂了,其他的便是触类旁通的事了。因为字数缘故,文中不简单介绍环境变量里边每一个指标的具体函义,如果要搞明白的,请参考我之前的微博文章:  数据访问层及主...

    89542767 评论0 收藏0
  • 深度学习在搜狗无线搜索广告中应用

    摘要:本文来自搜狗资深研究员舒鹏在携程技术中心主办的深度学习中的主题演讲,介绍了深度学习在搜狗无线搜索广告中的应用及成果。近年来,深度学习在很多领域得到广泛应用并已取得较好的成果,本次演讲就是分享深度学习如何有效的运用在搜狗无线搜索广告中。 本文来自搜狗资深研究员舒鹏在携程技术中心主办的深度学习Meetup中的主题演讲,介绍了深度学习在搜狗无线搜索广告中的应用及成果。重点讲解了如何实现基于多模型融...

    Jason 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<