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 28 Python
python爬取w3shcool的JQuery课程并且保存到本地
Apr 06 Python
AI人工智能 Python实现人机对话
Nov 13 Python
Python回文字符串及回文数字判定功能示例
Mar 20 Python
Python 读取某个目录下所有的文件实例
Jun 23 Python
Python 中的range(),以及列表切片方法
Jul 02 Python
python实现的MySQL增删改查操作实例小结
Dec 19 Python
python scp 批量同步文件的实现方法
Jan 03 Python
详解Python函数式编程—高阶函数
Mar 29 Python
python logging模块书写日志以及日志分割详解
Jul 22 Python
Django 实现前端图片压缩功能的方法
Aug 07 Python
Keras中的两种模型:Sequential和Model用法
Jun 27 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
smarty内置函数foreach用法实例
2015/01/22 PHP
JavaScript 字符串乘法
2009/08/20 Javascript
JavaScript 笔记二 Array和Date对象方法
2010/05/22 Javascript
浅析JavaScript中的隐式类型转换
2013/12/05 Javascript
windows8.1+iis8.5下安装node.js开发环境
2014/12/12 Javascript
javascript验证身份证号
2015/03/03 Javascript
JQuery选择器、过滤器大整理
2015/05/26 Javascript
JS实现的N多简单无缝滚动代码(包含图文效果)
2015/11/06 Javascript
将html页面保存成图片,图片写入pdf的实现方法(推荐)
2016/09/17 Javascript
vuejs在解析时出现闪烁的原因及防止闪烁的方法
2016/09/19 Javascript
Angularjs 创建可复用组件实例代码
2016/10/09 Javascript
jQuery Validate验证框架详解(推荐)
2016/12/17 Javascript
微信公众号菜单配置微信小程序实例详解
2017/03/31 Javascript
Bootstrap Table使用整理(二)
2017/06/09 Javascript
利用chrome浏览器进行js调试并找出元素绑定的点击事件详解
2021/01/30 Javascript
Vue开发环境跨域访问问题
2020/01/22 Javascript
[01:39]2014DOTA2国际邀请赛 Newbee经理CU专访队伍火力全开
2014/07/15 DOTA
python中的五种异常处理机制介绍
2014/09/02 Python
Python 序列化 pickle/cPickle模块使用介绍
2014/11/30 Python
win与linux系统中python requests 安装
2016/12/04 Python
Django中的Model操作表的实现
2018/07/24 Python
python3 写一个WAV音频文件播放器的代码
2019/09/27 Python
python不到50行代码完成了多张excel合并的实现示例
2020/05/28 Python
如何用Python和JS实现的Web SSH工具
2021/02/23 Python
CSS3中HSL和HSLA的简单使用示例
2015/07/14 HTML / CSS
html5 viewport使用方法示例详解
2013/12/02 HTML / CSS
加拿大购物频道:The Shopping Channel
2016/07/21 全球购物
电子商务网站的创业计划书
2014/01/05 职场文书
销售冠军获奖感言
2014/02/03 职场文书
临时工聘用合同协议书
2014/10/29 职场文书
2014幼儿园大班工作总结
2014/11/10 职场文书
干部个人考察材料
2014/12/24 职场文书
新员工入职欢迎词
2015/01/23 职场文书
无锡灵山大佛导游词
2015/02/09 职场文书
2015年助理政工师工作总结
2015/05/26 职场文书
人力资源部工作计划
2019/05/14 职场文书