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脚本生成Android SALT扰码的方法
Sep 18 Python
用Python进行TCP网络编程的教程
Apr 29 Python
Python绘制3d螺旋曲线图实例代码
Dec 20 Python
python去除扩展名的实例讲解
Apr 23 Python
python广度优先搜索得到两点间最短路径
Jan 17 Python
Python实现从SQL型数据库读写dataframe型数据的方法【基于pandas】
Mar 18 Python
Python面向对象之类的封装操作示例
Jun 08 Python
PyQt5 QTable插入图片并动态更新的实例
Jun 18 Python
Python跳出多重循环的方法示例
Jul 03 Python
使用pygame写一个古诗词填空通关游戏
Dec 03 Python
tensorflow如何继续训练之前保存的模型实例
Jan 21 Python
基于Python实现天天酷跑功能
Jan 06 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
基于HTTP长连接的"服务器推"技术的php 简易聊天室
2009/10/31 PHP
PHP+jQuery+Ajax实现分页效果 jPaginate插件的应用
2015/10/09 PHP
CI(CodeIgniter)框架实现图片上传的方法
2017/03/24 PHP
PhpStorm 2020.3:新增开箱即用的PHP 8属性(推荐)
2020/10/30 PHP
PHP 实现重载
2021/03/09 PHP
jquery打开直接跳到网页最下面、最低端实现代码
2013/04/22 Javascript
深入理解JavaScript系列(29):设计模式之装饰者模式详解
2015/03/03 Javascript
js支持键盘控制的左右切换立体式图片轮播效果代码分享
2015/08/26 Javascript
javascript针对不确定函数的执行方法
2015/12/16 Javascript
jQuery事件绑定用法详解(附bind和live的区别)
2016/01/19 Javascript
Nodejs中session的简单使用及通过session实现身份验证的方法
2016/02/04 NodeJs
特殊日期提示功能的实现方法
2016/06/16 Javascript
javascript 玩转Date对象(实例讲解)
2017/07/11 Javascript
AngularJS 中ui-view传参的实例详解
2017/08/25 Javascript
JavaScript+CSS相册特效实例代码
2017/09/07 Javascript
three.js中文文档学习之如何本地运行详解
2017/11/20 Javascript
Vue中的无限加载vue-infinite-loading的方法
2018/04/08 Javascript
karma+webpack搭建vue单元测试环境的方法示例
2018/05/24 Javascript
JS实现图片切换效果
2018/11/17 Javascript
微信小程序下拉刷新PullDownRefresh的使用方法
2018/11/29 Javascript
Node.js开发之套接字(socket)编程入门示例
2019/11/05 Javascript
使用Python实现windows下的抓包与解析
2018/01/15 Python
python_array[0][0]与array[0,0]的区别详解
2020/02/18 Python
浅谈Python中range与Numpy中arange的比较
2020/03/11 Python
python中查看.db文件中表格的名字及表格中的字段操作
2020/07/07 Python
英国领先的汽车轮胎和快速健康中心:Kwik Fit
2017/10/29 全球购物
美国男士西装打折店:Jos. A. Bank
2017/11/13 全球购物
Shoes For Crews法国官网:美国领先的防滑鞋设计和制造商
2018/01/01 全球购物
美国亚洲时尚和美容产品的一站式网上商店:Stylevana
2019/09/05 全球购物
高三自我鉴定
2013/10/23 职场文书
工作交流会欢迎词
2014/01/12 职场文书
小学生期末自我鉴定
2014/01/19 职场文书
干部下基层实施方案
2014/03/14 职场文书
事业单位个人总结
2015/02/12 职场文书
总经理年会致辞
2015/07/29 职场文书
入党申请书格式
2019/06/20 职场文书