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 将字符串转换成字典dict
Mar 24 Python
在Python的Django框架中生成CSV文件的方法
Jul 22 Python
Python实现ssh批量登录并执行命令
Oct 25 Python
Python中的单继承与多继承实例分析
May 10 Python
Django Admin实现三级联动的示例代码(省市区)
Jun 22 Python
记一次python 内存泄漏问题及解决过程
Nov 29 Python
解决Python pandas plot输出图形中显示中文乱码问题
Dec 12 Python
Python3.4学习笔记之列表、数组操作示例
Mar 01 Python
opencv调整图像亮度对比度的示例代码
Sep 27 Python
Python Excel vlookup函数实现过程解析
Jun 22 Python
pytorch学习教程之自定义数据集
Nov 10 Python
基于Python实现股票收益率分析
Apr 02 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
基于preg_match_all采集后数据处理的一点心得笔记(编码转换和正则匹配)
2014/01/31 PHP
编写PHP程序检查字符串中的中文字符个数的实例分享
2016/03/17 PHP
PHP基于Closure类创建匿名函数的方法详解
2017/08/17 PHP
PHP双向链表定义与用法示例
2018/01/31 PHP
laravel Task Scheduling(任务调度)在windows下的使用详解
2019/10/22 PHP
用js实现计算代码行数的简单方法附代码
2007/08/13 Javascript
Prototype Function对象 学习
2009/07/12 Javascript
js中Math之random,round,ceil,floor的用法总结
2013/12/26 Javascript
js获取当前页面路径示例讲解
2014/01/08 Javascript
JSON格式化输出
2014/11/10 Javascript
jQuery实现的多屏图像图层切换效果实例
2015/05/07 Javascript
极力推荐10个短小实用的JavaScript代码段
2016/08/03 Javascript
web 前端常用组件之Layer弹出层组件
2016/09/22 Javascript
JS中用try catch对代码运行的性能影响分析
2016/12/26 Javascript
axios学习教程全攻略
2017/03/26 Javascript
详谈构造函数加括号与不加括号的区别
2017/10/26 Javascript
jQuery实现获取选中复选框的值实例详解
2018/06/28 jQuery
浅析Vue实例以及生命周期
2018/08/14 Javascript
python实现比较两段文本不同之处的方法
2015/05/30 Python
使用python绘制常用的图表
2016/08/27 Python
Python搭建代理IP池实现获取IP的方法
2019/10/27 Python
selenium WebDriverWait类等待机制的实现
2020/03/18 Python
PyCharm vs VSCode,作为python开发者,你更倾向哪种IDE呢?
2020/08/17 Python
python开发入门——列表生成式
2020/09/03 Python
海南地接欢迎词
2014/01/14 职场文书
村优秀党员事迹材料
2014/01/15 职场文书
投标人廉洁自律承诺书
2014/05/26 职场文书
英语教师求职信
2014/06/16 职场文书
优秀教师自我评价范文
2014/09/27 职场文书
群众路线教育实践活动心得体会(四风)
2014/11/03 职场文书
2015年试用期工作总结
2014/12/12 职场文书
欠条格式范本
2015/07/03 职场文书
MySQL中连接查询和子查询的问题
2021/09/04 MySQL
Nginx防盗链与服务优化配置的全过程
2022/01/18 Servers
Python实现文字pdf转换图片pdf效果
2022/04/03 Python
详解Vue3使用axios的配置教程
2022/04/29 Vue.js