Caffe均值文件mean.binaryproto转mean.npy的方法


Posted in Python onJuly 09, 2018

mean.binaryproto转mean.npy

使用Caffe的C++接口进行操作时,需要的图像均值文件是pb格式,例如常见的均值文件名为mean.binaryproto;但在使用python接口进行操作时,需要的图像均值文件是numpy格式,例如mean.npy。所以在跨语言进行操作时,需要将mean.binaryproto转换成mean.npy,转换代码如下:

import caffe
import numpy as np

MEAN_PROTO_PATH = 'mean.binaryproto'        # 待转换的pb格式图像均值文件路径
MEAN_NPY_PATH = 'mean.npy'             # 转换后的numpy格式图像均值文件路径

blob = caffe.proto.caffe_pb2.BlobProto()      # 创建protobuf blob
data = open(MEAN_PROTO_PATH, 'rb' ).read()     # 读入mean.binaryproto文件内容
blob.ParseFromString(data)             # 解析文件内容到blob

array = np.array(caffe.io.blobproto_to_array(blob))# 将blob中的均值转换成numpy格式,array的shape (mean_number,channel, hight, width)
mean_npy = array[0]                # 一个array中可以有多组均值存在,故需要通过下标选择其中一组均值
np.save(MEAN_NPY_PATH ,mean_npy)

已知图像均值,构造mean.npy

如果已知图像中每个通道的均值,例如3通道图像每个通道的均值分别为104,117,123,我们也可以通过其构造mean.npy。代码如下:

import numpy as np

MEAN_NPY_PATH = 'mean.npy'

mean = np.ones([3,256, 256], dtype=np.float)
mean[0,:,:] = 104
mean[1,:,:] = 117
mean[2,:,:] = 123

np.save(MEAN_NPY, mean)

载入mean.npy

上面我们用两种方式构造了均值文件mean.npy,在使用时载入mean.npy的代码如下:

import numpy as np

mean_npy = np.load(MEAN_NPY_PATH)
mean = mean_npy.mean(1).mean(1)

以上这篇Caffe均值文件mean.binaryproto转mean.npy的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python制作mysql数据迁移脚本
Jan 01 Python
python爬取酷狗音乐排行榜
Feb 20 Python
Python使用paramiko操作linux的方法讲解
Feb 25 Python
python浪漫表白源码
Apr 05 Python
浅析Python 引号、注释、字符串
Jul 25 Python
详解如何在cmd命令窗口中搭建简单的python开发环境
Aug 29 Python
python3 动态模块导入与全局变量使用实例
Dec 22 Python
python绘制玫瑰的实现代码
Mar 02 Python
使用python+poco+夜神模拟器进行自动化测试实例
Apr 23 Python
Opencv图像处理:如何判断图片里某个颜色值占的比例
Jun 03 Python
Python json格式化打印实现过程解析
Jul 21 Python
Python实现数字的格式化输出
Aug 01 Python
使用Python更换外网IP的方法
Jul 09 #Python
使用Python AIML搭建聊天机器人的方法示例
Jul 09 #Python
Python迭代器与生成器用法实例分析
Jul 09 #Python
numpy的文件存储.npy .npz 文件详解
Jul 09 #Python
Python实现聊天机器人的示例代码
Jul 09 #Python
Atom的python插件和常用插件说明
Jul 08 #Python
Python中pip更新和三方插件安装说明
Jul 08 #Python
You might like
php+mysql实现无限级分类 | 树型显示分类关系
2006/11/19 PHP
解析php DOMElement 操作xml 文档的实现代码
2013/05/10 PHP
PHP的RSA加密解密方法以及开发接口使用
2018/02/11 PHP
PHP获取对象属性的三种方法实例分析
2019/01/03 PHP
ThinkPHP3.2框架操作Redis的方法分析
2019/05/05 PHP
HR vs CL BO3 第二场 2.13
2021/03/10 DOTA
CSS(js)限制页面显示的文本字符长度
2012/12/27 Javascript
JavaScript变量的作用域全解析
2015/08/14 Javascript
JavaScript方法_动力节点Java学院整理
2017/06/28 Javascript
nodejs中sleep功能实现暂停几秒的方法
2017/07/12 NodeJs
vuex + axios 做登录验证 并且保存登录状态的实例
2018/09/16 Javascript
TypeScript中使用getElementXXX()的示例代码
2019/09/12 Javascript
JavaScript实现像雪花一样的Hexaflake分形
2020/07/07 Javascript
[01:22:19]EG vs TNC Supermajor小组赛B组败者组第一轮 BO3 第二场 6.2
2018/06/03 DOTA
用Python程序抓取网页的HTML信息的一个小实例
2015/05/02 Python
python字符串连接方法分析
2016/04/12 Python
Flask框架的学习指南之开发环境搭建
2016/11/20 Python
详解python里使用正则表达式的分组命名方式
2017/10/24 Python
Python2 Selenium元素定位的实现(8种)
2019/02/25 Python
Python企业编码生成系统之系统主要函数设计详解
2019/07/26 Python
win10环境下配置vscode python开发环境的教程详解
2019/10/16 Python
DHC美国官网:日本通信销售第一的化妆品品牌
2017/11/12 全球购物
专业毕业生个性的自我评价
2013/10/03 职场文书
食堂员工工作职责
2013/12/18 职场文书
会计学自我鉴定
2014/02/06 职场文书
接待员岗位责任制
2014/02/10 职场文书
内刊编辑求职自荐书范文
2014/02/19 职场文书
会计的岗位职责
2014/03/15 职场文书
英文感谢信格式
2015/01/21 职场文书
清洁工岗位职责
2015/02/13 职场文书
学期个人自我总结
2015/02/13 职场文书
李白经典诗之一:全文无一“月”字,却句句有月
2019/07/12 职场文书
缓存替换策略及应用(以Redis、InnoDB为例)
2021/07/25 Redis
sql注入教程之类型以及提交注入
2021/08/02 MySQL
win10以太网连接不上怎么办?Win10连接以太网详细教程
2022/04/08 数码科技
JavaScript实现音乐播放器
2022/08/14 Javascript