通常情况下,训练好的caffe模型包含两个文件:

  • prototxt:网络结构描述文件,存储了整个网络的图结构;
  • caffemodel:权重文件,存储了模型权重的相关参数和具体信息

对于某些大型的网络,如果需要对caffe模型中一小部分结构网络做一些性能或精度分析,可以对caffe模型的结构及权重进行截取。caffe源码提供了读取caffe模型的python接口,可以比较方便地进行相应的操作。

修改prototxt

以Inception模型为例,如下图左则为使用Netron可视化的模型前3层及prototxt描述的内容,假设要截取第3层,修改后的模型如下图右则所示,修改方法为:

  • 修改输入数据的维度为第2层的输出维度
  • 删除第2层以及第3层后的所有层
  • 修改第3层的bottom值为第一层的top值

截取权重数据

首先要下载caffe源码

git clone https://github.com/BVLC/caffe

然后使用caffe的python接口读取修改后的prototxt和原始的权重文件caffemodel,接着重新推理,最后保存新的权重文件。

import syscaffe_root='/your/path/caffe'sys.path.insert(0, caffe_root + '/python')import caffenet = caffe.Net("Inception.prototxt", "Inception.caffemodel", caffe.TRAIN)res = net.forward()net.save('Inception_conv2d_2.caffemodel')

caffe模型文件解析_「机器学习」截取caffe模型中的某层相关推荐

  1. caffe模型文件解析_深度学习 Caffe 初始化流程理解(数据流建立)

    深度学习 Caffe 初始化流程理解(数据流建立) 之前在简书的文章,搬迁过来 ^-^ 本文是作者原创,如有理解错误,恳请大家指出,如需引用,请注明出处. #Caffe FeatureMap数据流的建 ...

  2. python 最小二乘回归 高斯核_「机器学习」一文读懂线性回归、岭回归和Lasso回归...

    点击上方蓝色字体,关注AI小白入门哟 作者 | 文杰 编辑 | yuquanle 本文介绍线性回归模型,从梯度下降和最小二乘的角度来求解线性回归问题,以概率的方式解释了线性回归为什么采用平方损失,然后 ...

  3. 预测评价系统_「机器学习」一文读懂分类算法常用评价指标

    前言 评价指标是针对将相同的数据,输入不同的算法模型,或者输入不同参数的同一种算法模型,而给出这个算法或者参数好坏的定量指标. 在模型评估过程中,往往需要使用多种不同的指标进行评估,在诸多的评价指标中 ...

  4. 兼容input 文件选择_「HTML5」FileAPI 文件操作实战

    本文来自<FileAPI 文件操作实战> 其他系列放在了Github,欢迎交流和Star 介绍 HTML5 为我们提供了 File API 相关规范.主要涉及 File 接口 和 File ...

  5. rfa 文件读取_「rfa」rfa文件用什么软件打开? - seo实验室

    rfa 后缀名.rfa的用什么软件可以打开?什么是文件扩展名为RFA?有没有人给您发送过RFA文件,而您却不知道该如何打开?可能您在电脑上发现了一个 RFA文件却不知道这是做什么用的?windows ...

  6. lin通信ldf文件解析_详细步骤讲解如何在CANoe中创建一个LIN通讯工程(多图+详解)...

    本文首发自微信公众号"汽车技术馆"! CANoe可以实现基于CAN通讯的通讯测试和仿真,同时也可以支持基于LIN通讯的通讯测试和仿真,如何在CANoe中建立一个基于LIN通讯的工程 ...

  7. boost::unorder_map如何插入元素_「React」如何在React中优雅的实现动画

    最简单的动画组件实现 动画的本质,无非就是一个状态样式到另一个状态样式的过渡.最简单的动画组件,我们只需要指定两个状态的样式(进入的样式,离开的样式),以及一个开关(控制状态),即可完成. codep ...

  8. 前端获取div里面的标签_「HTML」什么是 HTML 中的 div 标签

    1:语法 2:作用 div 标签可以用来划分 HTML 结构,从而配合 CSS 来整体控制某一块的样式. div 标签是块级元素,它可用做组合其它 HTML 元素的容器. div 标签可以用作严格的组 ...

  9. java 过滤器执行图_「filterchain」java 过滤器Filter中chain.doFilter()之前和之后代码的执行顺序 - seo实验室...

    filterchain 过滤器拦截到请求之后,首先是执行doFilter()方法中chain.doFilter()之前的代码,然后放弃权限给下一个过滤器或者serverlet等等,最后才执行chain ...

最新文章

  1. 重磅!「肠道菌群」项目征集,百万科研经费助力细分领域全新突破
  2. [C/C++标准库]_[初级]_[优先队列priority_queue的使用]
  3. python字符串的美化_shell 下使用python 美化输出json
  4. JavaScript 图片切割效果(带拖放、缩放效果)
  5. dom4j 解析xml
  6. GIVE root password for maintenance
  7. python 爬虫爬取内容时, \xa0 、 \u3000 的含义与处理方法
  8. 实习成长之路——设计模式实战一:充血模型DDD与贫血模型MVC的区别?如何利用DDD开发一个虚拟钱包系统?
  9. PAT之树:一般树、二叉树、完全二叉树、二叉搜索树、二叉平衡树、并查集
  10. 速达5000进销存PDA条码打印扫码开单-吉度PDA定制
  11. 开机netmeeting已删除_NetMeeting
  12. 手机常见分辨率及代表机型
  13. 第二人生的源码分析(9)登录界面显示
  14. C# Xml序列化Dictionary
  15. 工作之余可以回味的经典
  16. 安卓音频系统之一音频基础
  17. vue porxy 解决跨域
  18. Swift中的类和结构体(2)
  19. c linux 获取cpuid_[C] 在GCC中获取CPUID信息(兼容VC)
  20. 重庆科技学院数理学院mysql的期末考试_数据库期末考试重庆科技学院A.doc

热门文章

  1. 有了Auto Layout,为什么你还是害怕写UITabelView的自适应布局?
  2. MIUI V5的私密短信功能
  3. jQuery学习笔记——筛选元素集合
  4. sqlserver连接及设置
  5. asp.net试题(三)
  6. 基于tkinter模块创建GUI程序(python)
  7. 计算机网络数据链路层封装,计算机网络(3.3)数据链路层- 封装成帧
  8. 计算机考研哪个专业代码少,考研专业代码到底是什么意思
  9. 擦地机器人测评_iRobot擦地机器人测评:一机在手,脏污不再有!
  10. excel 粘贴到web_使用EXCEL导入参考历年高考大数据,为2019年高考志愿填报做参考...