原文地址:http://blog.csdn.NET/u014510375/article/details/51704447

最近读到一篇paper非常有意思,他们把caffe里训练好的模型的参数导出来了,然后…弄到了torch里。所以,今天就来看看怎么导出参数吧。 
为了简单,这次我选的是LeNet

import numpy as np
import scipy.io as sio
import caffedef load():# Load the netcaffe.set_mode_cpu()# You may need to train this caffemodel first# There should be script to help you do the trainingnet = caffe.Net(root + 'lenet.prototxt', root + 'lenet_iter_10000.caffemodel',\caffe.TEST)conv1_w = net.params['conv1'][0].dataconv1_b = net.params['conv1'][1].dataconv2_w = net.params['conv2'][0].dataconv2_b = net.params['conv2'][1].dataip1_w = net.params['ip1'][0].dataip1_b = net.params['ip1'][1].dataip2_w = net.params['ip2'][0].dataip2_b = net.params['ip2'][1].datasio.savemat('conv1_w', {'conv1_w':conv1_w})sio.savemat('conv1_b', {'conv1_b':conv1_b})sio.savemat('conv2_w', {'conv2_w':conv2_w})sio.savemat('conv2_b', {'conv2_b':conv2_b})sio.savemat('ip1_w', {'ip1_w':ip1_w})sio.savemat('ip1_b', {'ip1_b':ip1_b})sio.savemat('ip2_w', {'ip2_w':ip2_w})sio.savemat('ip2_b', {'ip2_b':ip2_b})if __name__ == "__main__":# You will need to change this pathroot = '/Users/yuliangzou/caffe-rc3/examples/mnist/'load()print 'Caffemodel loaded and written to .mat files successfully!'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

从代码里可以看得很清楚啦,首先导入模型,然后利用net.params就可以获取参数了,另外你也可以利用net.data导出数据进行可视化。当然,在导出参数之前…你必须要跑过一遍,不然你没有这个caffemodel… 
最后…要说一下我最近无聊的时候在github上开了个Naive-CNN的项目,就是….把Caffe里的模型参数导出来,用Matlab或者Python写一遍。目前只做了LeNet。欢迎大家也来玩: 
https://github.com/Yuliang-Zou/Naive-CNN

从caffemodel中导出参数相关推荐

  1. caffe的python接口学习(8):caffemodel中的参数及特征的抽取

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

  2. MindSpore:【AIR模型导出】导出时提示源码中select_op参数类型转换失败

    问题描述: [功能模块] MindSpore - 模型导出 - AIR模型导出 [操作步骤&问题现象] 1.脚本在GPU和Ascend环境下正常运行,可以正常运行,结果也正常 2.Ascend ...

  3. linux 下orapwd 未找到命令,orapwd命令中entries参数的作用

    orapwd命令中entries参数的作用 作者 blue_stone E-mail: blue_stone@xinhuanet.com Blog: http://bluestone.cublog.c ...

  4. DLL中导出函数的声明有两种方式

    本文引用自:VC编程时DLL中导出函数的声明有两种方式 一种方式是:在函数声明中加上__declspec(dllexport): 另外一种方式是:采用模块定义(.def)文件声明,(.def)文件为链 ...

  5. DLL入门浅析(4)——从DLL中导出类

    前面介绍了怎么从DLL中导出函数和变量,实际上导出类的方法也是大同小异,废话就不多说了,下面给个简单例子示范一下,也就不多做解释了. DLL头文件: #ifndef _DLL_SAMPLE_H #de ...

  6. WinForm中导出Excel

    通过传入不同的数据集来控制Excel中sheet的数目,此例依照两个为例,仅供大家参考: #region 導出Excel         private void outPutExcel(System ...

  7. 【Datapump】expdp和impdp中parallel参数解释

    在 expdp 和 impdp 中,可以通过并行( parallel 参数)来提高导出导入速率.这个参数会受到 cpu 和 I/O 影响.所以在使用 parallel 参数时,需要在资源消耗和运行时间 ...

  8. 手把手教你如何用Python从PDF文件中导出数据(附链接)

    作者:Mike Driscoll :翻译:季洋:校对:丁楠雅 本文约4000字,建议阅读10分钟. 本文介绍了在提取出想要的数据之后,如何将数据导出成其他格式的方法. 有很多时候你会想用Python从 ...

  9. libvlc_media_add_option 函数中的参数设置

    libvlc_media_add_option   函数中的参数设置 Usage: vlc [options] [stream] ... You can specify multiple stream ...

  10. 不同坐标系BIM模型导出参数配置

    一.大数坐标系(以Civil3d模型为例) 写在前面: Civid3d软件与CAD软件类似,如果是以大数坐标系建模,原点则为(0,0),模型上取一点坐标基本为(8位X,7位Y).可用id命令在civi ...

最新文章

  1. 阿里达摩院《机器学习算法学习指南》火了,限时开放下载!
  2. 虚拟机Oracle VM VirtualBox linux系统如何访问windows共享文件夹
  3. lunbuntu install maven
  4. JS设计模式三:策略模式
  5. 数据预处理--样本选择、交叉验证
  6. 八位技术专家分享他们最喜欢的物联网技术
  7. Redis简介及安装
  8. java 前后的区别_java中前后++的区别
  9. 计算机网络误区——源目IP和源目MAC变化问题
  10. 计算机网络教程 azw3,Windows 10从入门到精通(pdf+epub+mobi+txt+azw3)
  11. 计算机串口程序配置,串口设置软件 串口调试工具如何使用
  12. 理正深基坑6.0软件备忘录_梳理使用方法01
  13. 使用Scrapy模拟登陆人人网
  14. 欢乐喜剧人宋晓峰吟诗大全
  15. 数独解法/n皇后的回溯算法
  16. 免费分享《精通C#游戏编程》
  17. Windows命令窗口输入命令报错不是内部或外部命令,也不是可运行的程序 或批处理文件
  18. 删除主键索引 oracle,删除主键无法删除对应索引问题 drop constraint
  19. 王桂林 C++基础与提高 练习题——格式时钟输出(实时的,精确到秒)
  20. 我国村庄规划发展历程

热门文章

  1. 开源项目 05 Dapper
  2. Aspose.Excel模板输出中名称管理器的使用
  3. 【探索PowerShell 】【二】基本操作
  4. 架设samba服务器
  5. 【统计学习方法】统计学习方法概论(2)
  6. Android中文API(125) —— VideoView
  7. JMP比较组均值,检查差异
  8. Apache Rewrite 拟静态配置
  9. linux常用命令和关闭防火墙
  10. 房产纠纷官司费用是多少