返回顶部
首页 > 资讯 > 后端开发 > Python >caffe的python接口caffemodel参数及特征抽取示例
  • 447
分享到

caffe的python接口caffemodel参数及特征抽取示例

2024-04-02 19:04:59 447人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

正文 如果用公式  y=f(wx+b) 来表示整个运算过程的话,那么w和b就是我们需要训练的东西,w称为权值,在cnn中也可以叫做卷积核(filter),b是偏置项。f是激

正文

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

来表示整个运算过程的话,那么w和b就是我们需要训练的东西,w称为权值,在cnn中也可以叫做卷积核(filter),b是偏置项。f是激活函数,有sigmoid、relu等。x就是输入的数据。

数据训练完成后,保存的caffemodel里面,实际上就是各层的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值。注意:并不是所有的层都有参数,只有卷积层和全连接层才有。

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

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

假设我们知道其中第一个卷积层的名字叫'Convolution1', 则我们可以提取这个层的参数:

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

输入这些代码,实际查看一下,对你理解network非常有帮助。

同理,除了查看参数,我们还可以查看数据,但是要注意的是,net里面刚开始是没有数据的,需要运行:

net.forward()

之后才会有数据。我们可以用代码:

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

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

来查看各层的数据。注意和上面查看参数的区别,一个是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   #提取某层数据(特征)

以上就是caffe的python接口caffemodel参数及特征抽取的详细内容,更多关于Python caffemodel参数特征抽取的资料请关注编程网其它相关文章!

--结束END--

本文标题: caffe的python接口caffemodel参数及特征抽取示例

本文链接: https://lsjlt.com/news/118958.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • caffe的python接口caffemodel参数及特征抽取示例
    正文 如果用公式  y=f(wx+b) 来表示整个运算过程的话,那么w和b就是我们需要训练的东西,w称为权值,在cnn中也可以叫做卷积核(filter),b是偏置项。f是激...
    99+
    2024-04-02
  • caffe的python接口caffemodel参数怎么使用
    本篇内容主要讲解“caffe的python接口caffemodel参数怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“caffe的python接口caffemodel参数怎么使用”吧!前言...
    99+
    2023-07-02
  • Python基于Pytorch特征图提取的示例分析
    这篇文章给大家分享的是有关Python基于Pytorch特征图提取的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。简述为了方便理解卷积神经网络的运行过程,需要对卷积神经网络的运行结果进行可视化的展示。大致...
    99+
    2023-06-29
  • Caffe数据可视化环境python接口配置教程示例
    目录引言一、安装python和pip二、安装pyhon接口依赖库三、利用anaconda来配置python环境四、编译python接口五、安装jupyter引言 caffe程序是由c...
    99+
    2024-04-02
  • caffe的python接口之手写数字识别mnist实例
    目录引言一、数据准备二、导入caffe库,并设定文件路径二、生成配置文件三、生成参数文件solver四、开始训练模型五、完成的python文件引言 深度学习的第一个实例一般都是mni...
    99+
    2024-04-02
  • python深度学习tensorflow1.0参数和特征提取的方法
    这篇文章主要介绍“python深度学习tensorflow1.0参数和特征提取的方法”,在日常操作中,相信很多人在python深度学习tensorflow1.0参数和特征提取的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法...
    99+
    2023-07-02
  • 时间序列特征提取的Python和Pandas代码示例
    使用Pandas和Python从时间序列数据中提取有意义的特征,包括移动平均,自相关和傅里叶变换。前言时间序列分析是理解和预测各个行业(如金融、经济、医疗保健等)趋势的强大工具。特征提取是这一过程中的关键步骤,它涉及将原始数据转换为有意义的...
    99+
    2023-05-14
    Python Pandas
  • Java中虚函数、抽象函数、抽象类、接口的示例分析
    这篇文章主要介绍Java中虚函数、抽象函数、抽象类、接口的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一. Java虚函数虚函数的存在是为了多态。它虚就虚在所谓“推迟联编”或者“动态联编”上,一个类函数的调...
    99+
    2023-06-05
  • python接口自动化之正则用例参数化的示例详解
    目录前言一、正则表达式语法1.1表示单字符1.2表示数量1.2.1匹配分组1.3 表示边界二、贪婪模式三、re模块3.1 re.findall()3.2re.search()3.3 ...
    99+
    2024-04-02
  • python接口自动化之正则用例参数化示例分析
    本篇内容主要讲解“python接口自动化之正则用例参数化示例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python接口自动化之正则用例参数化示例分析”吧!前言我们在做接口自动化的时候,处...
    99+
    2023-07-02
  • Python爬取某婚恋网征婚数据的示例分析
    这篇文章给大家分享的是有关Python爬取某婚恋网征婚数据的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、打开界面鼠标右键打开检查,方框里为你一个文小姐的征婚信息。。由此判断出为同步加载点击eleme...
    99+
    2023-06-15
  • SpringBoot实现接口的各种参数校验的示例
    目录1.添加依赖2.接口参数校验2.1 requestBody参数校验2.2 requestParam/PathVariable参数校验3.统一异常处理4.进阶使用4.1 分组校验4...
    99+
    2024-04-02
  • SpringBoot实现接口参数加密解密的示例代码
    目录1. 开发加解密 starter1.1 创建项目1.2 加密工具类1.3 响应工具类1.4 定义注解1.5 定义一个 EncryptProperti...
    99+
    2024-04-02
  • Python脚本开发中的命令行参数及传参示例详解
    目录sys模块argparse模块Python中的正则表达式 正则表达式简介Re模块常用的匹配规则sys模块 在使用python开发脚本的时候,作为一个运维工具,或者是其他...
    99+
    2024-04-02
  • Python的净值数据接口调用示例分享
    代码描述:基于Python的净值数据接口调用代码实例 关联数据:净值数据 接口地址:https://www.juhe.cn/docs/api/id/25 #!/usr/bin/python # -*- ...
    99+
    2022-06-04
    净值 示例 接口
  • vue不通过路由直接获取url中参数的示例分析
    小编给大家分享一下vue不通过路由直接获取url中参数的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!示例代码第一步:创...
    99+
    2024-04-02
  • 基于聚合数据的短信API接口调用示例-Python版
    一、申请接口 通过https://www.juhe.cn/docs/api/id/54自助申请开通短信API,获得接口请求Key。(目前接口暂只支持企业类用户使用) 申请后,在个人中心提交短信模板,聚合官方已经提供了多个常用模板,可以快捷申...
    99+
    2024-04-02
  • 基于聚合数据的老黄历接口调用示例-Python版
    前期准备 接口申请,申请地址—“聚合数据”官网:https://www.juhe.cn/docs/api/id/65 你可以在个人中心 ➡️ 数据中心 ➡️ 我的API 模块看到此接口的调用凭证请求key 接口说明 免费使用,根据会员...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作