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中属性和描述符的正确使用
Aug 23 Python
Python学习之用pygal画世界地图实例
Dec 07 Python
django初始化数据库的实例
May 27 Python
python的pandas工具包,保存.csv文件时不要表头的实例
Jun 14 Python
python 使用sys.stdin和fileinput读入标准输入的方法
Oct 17 Python
python实现对输入的密文加密
Mar 20 Python
python3 json数据格式的转换(dumps/loads的使用、dict to str/str to dict、json字符串/字典的相互转换)
Apr 01 Python
详解python路径拼接os.path.join()函数的用法
Oct 09 Python
浅谈Tensorflow 动态双向RNN的输出问题
Jan 20 Python
Python3标准库glob文件名模式匹配的问题
Mar 13 Python
python如何利用paramiko执行服务器命令
Nov 07 Python
Python+Matplotlib图像上指定坐标的位置添加文本标签与注释
Apr 11 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的Yii框架中创建视图和渲染视图的方法详解
2016/03/29 PHP
CI框架扩展系统核心类的方法分析
2016/05/23 PHP
php自定义函数br2nl实现将html中br换行符转换为文本输入中换行符的方法【与函数nl2br功能相反】
2017/02/17 PHP
php制作圆形用户头像的实例_自定义封装类源代码
2017/09/18 PHP
js循环改变div颜色具体方法
2013/06/25 Javascript
jquery实现动态画圆
2014/12/04 Javascript
纯js实现重发验证码按钮倒数功能
2015/04/21 Javascript
基于BootStrap Metronic开发框架经验小结【八】框架功能总体界面介绍
2016/05/12 Javascript
Bootstrap编写一个兼容主流浏览器的受众巨幕式风格页面
2016/07/01 Javascript
浅谈在js传递参数中含加号(+)的处理方式
2016/10/11 Javascript
Vue2.x中的父子组件相互通信的实现方法
2017/05/02 Javascript
Vue+SpringBoot开发V部落博客管理平台
2017/12/27 Javascript
node打造微信个人号机器人的方法示例
2018/04/26 Javascript
解决vuejs 使用value in list 循环遍历数组出现警告的问题
2018/09/26 Javascript
webpack是如何实现模块化加载的方法
2019/11/06 Javascript
小程序websocket心跳库(websocket-heartbeat-miniprogram)
2020/02/23 Javascript
详解vue3中组件的非兼容变更
2021/03/03 Vue.js
[03:49]显微镜下的DOTA2第十五期—VG登基之路完美团
2014/06/24 DOTA
Python使用matplotlib简单绘图示例
2018/02/01 Python
pycharm: 恢复(reset) 误删文件的方法
2018/10/22 Python
在python下读取并展示raw格式的图片实例
2019/01/24 Python
pandas读取CSV文件时查看修改各列的数据类型格式
2019/07/07 Python
python GUI图形化编程wxpython的使用
2019/07/19 Python
基于django ManyToMany 使用的注意事项详解
2019/08/09 Python
HTML5 解析规则分析
2009/08/14 HTML / CSS
美国真皮手袋品牌:GiGi New York
2017/03/10 全球购物
Etam德国:内衣精品店
2019/08/25 全球购物
人事行政主管岗位职责
2013/12/22 职场文书
公司庆典活动邀请函
2014/01/09 职场文书
消防安全检查制度
2014/02/04 职场文书
物理专业大学生职业生涯规划书
2014/02/07 职场文书
企业委托书范本
2014/09/13 职场文书
2015年结对帮扶工作总结
2015/05/04 职场文书
怒海潜将观后感
2015/06/11 职场文书
A22国内电台短波广播频率表
2022/05/10 无线电
搭建zabbix监控以及邮件报警的超级详细教学
2022/07/15 Servers