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程序代码片段
Jun 02 Python
Python实现简单HTML表格解析的方法
Jun 15 Python
python bottle框架支持jquery ajax的RESTful风格的PUT和DELETE方法
May 24 Python
python中返回矩阵的行列方法
Apr 04 Python
python实现俄罗斯方块游戏
Mar 25 Python
python实现写数字文件名的递增保存文件方法
Oct 25 Python
Python 从相对路径下import的方法
Dec 04 Python
Python3.5基础之函数的定义与使用实例详解【参数、作用域、递归、重载等】
Apr 26 Python
Python 数据可视化pyecharts的使用详解
Jun 26 Python
pandas中read_csv、rolling、expanding用法详解
Apr 21 Python
Python爬虫爬取糗事百科段子实例分享
Jul 31 Python
Python爬取奶茶店数据分析哪家最好喝以及性价比
Sep 23 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完整的日历类(CLASS)
2006/11/27 PHP
php下检测字符串是否是utf8编码的代码
2008/06/28 PHP
在PHP中操作Excel实例代码
2010/04/29 PHP
基于wordpress主题制作的具体实现步骤
2013/05/10 PHP
Drupal读取Excel并导入数据库实例
2014/03/02 PHP
php强制更新图片缓存的方法
2015/02/11 PHP
PHP+swoole实现简单多人在线聊天群发
2016/01/19 PHP
jQuery判断div随滚动条滚动到一定位置后停止
2014/04/02 Javascript
jquery 新建的元素事件绑定问题解决方案
2014/06/12 Javascript
JavaScript数组函数unshift、shift、pop、push使用实例
2014/08/27 Javascript
js实现仿百度风云榜可重复多次调用的TAB切换选项卡效果
2015/08/31 Javascript
AngularJS指令用法详解
2016/11/02 Javascript
jquery将标签元素的高设为屏幕的百分比
2017/04/19 jQuery
[原创]js实现保存文本框内容为本地文件兼容IE,chrome,火狐浏览器
2018/02/14 Javascript
JavaScript引用类型之基本包装类型实例分析【Boolean、Number和String】
2018/08/09 Javascript
在js代码拼接dom对象到页面上的模板总结
2018/10/21 Javascript
详解写好JS条件语句的5条守则
2019/02/28 Javascript
jquery获取input输入框中的值
2019/11/13 jQuery
微信小程序实现多行文字滚动
2020/11/18 Javascript
Python中基本的日期时间处理的学习教程
2015/10/16 Python
Python HTTP客户端自定义Cookie实现实例
2017/04/28 Python
关于Django显示时间你应该知道的一些问题
2017/12/25 Python
python中的内置函数max()和min()及mas()函数的高级用法
2018/03/29 Python
Python实现查找最小的k个数示例【两种解法】
2019/01/08 Python
5个你不知道的HTML5的接口介绍
2013/08/07 HTML / CSS
美国背景检查、公共记录和人物搜索网站:BeenVerified
2018/02/25 全球购物
weblogic面试题
2016/03/07 面试题
优秀部门获奖感言
2014/02/14 职场文书
《金钱的魔力》教学反思
2014/02/24 职场文书
双拥工作宣传标语
2014/06/26 职场文书
交通事故委托书范本精选
2014/10/04 职场文书
护士个人年度总结范文
2015/02/13 职场文书
同事离别感言
2015/08/04 职场文书
详解Python类和对象内容
2021/06/22 Python
详解JS数组方法
2021/11/20 Javascript
2022新作动画《福星小子》释出宣传影片 加入内田真礼&宫野真守配音演出
2022/04/08 日漫