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交换变量
Sep 06 Python
Python调用C语言开发的共享库方法实例
Mar 18 Python
深入浅析Python字符编码
Nov 12 Python
python目录与文件名操作例子
Aug 28 Python
python和opencv实现抠图
Jul 18 Python
django 中QuerySet特性功能详解
Jul 25 Python
flask框架渲染Jinja模板与传入模板变量操作详解
Jan 25 Python
解决Jupyter因卸载重装导致的问题修复
Apr 10 Python
python中读入二维csv格式的表格方法详解(以元组/列表形式表示)
Apr 24 Python
pycharm sciview的图片另存为操作
Jun 01 Python
Python 代码调试技巧示例代码
Aug 11 Python
pytorch中的numel函数用法说明
May 13 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中iconv函数使用方法
2008/05/24 PHP
php下载远程文件类(支持断点续传)
2008/11/14 PHP
PHP下通过file_get_contents的代理使用方法
2011/02/16 PHP
PHP filter_var() 函数 Filter 函数
2012/04/25 PHP
CI框架学习笔记(一) - 环境安装、基本术语和框架流程
2014/10/26 PHP
php字符串操作针对负值的判断分析
2016/07/28 PHP
thinkPHP简单实现多个子查询语句的方法
2016/12/05 PHP
php实现的三个常用加密解密功能函数示例
2017/11/06 PHP
csdn 博客的css样式 v3
2009/02/24 Javascript
关于锚点跳转及jQuery下相关操作与插件
2012/10/01 Javascript
基于jquery编写的横向自适应幻灯片切换特效的实例代码
2013/08/06 Javascript
jQuery异步加载数据并添加事件示例
2014/08/24 Javascript
浅谈JavaScript Array对象
2014/12/29 Javascript
jQuery Ajax全解析
2017/02/13 Javascript
详解Vue的computed(计算属性)使用实例之TodoList
2017/08/07 Javascript
详解webpack babel的配置
2018/01/09 Javascript
JavaScript实现PC端四格密码输入框功能
2020/02/19 Javascript
python实现udp数据报传输的方法
2014/09/26 Python
Python使用sorted排序的方法小结
2017/07/28 Python
Python实现两个list求交集,并集,差集的方法示例
2018/08/02 Python
python递归实现快速排序
2018/08/18 Python
pip安装py_zipkin时提示的SSL问题对应
2018/12/29 Python
Python实现把多维数组展开成DataFrame
2019/11/30 Python
Python 模拟动态产生字母验证码图片功能
2019/12/24 Python
css3发光搜索表单分享
2014/04/11 HTML / CSS
仿酷狗html5手机音乐播放器主要部分代码
2013/05/15 HTML / CSS
HTML5离线应用与客户端存储的实现
2018/05/03 HTML / CSS
南非最大的花卉和送礼服务:NetFlorist
2017/09/13 全球购物
耐克中国官方商城:Nike中国
2018/10/18 全球购物
求职信范文怎么写
2014/01/29 职场文书
双拥工作宣传标语
2014/06/26 职场文书
2014年村计划生育工作总结
2014/11/14 职场文书
2015年办公室文秘工作总结
2015/04/30 职场文书
小学秋季运动会通讯稿
2015/11/25 职场文书
Nginx访问日志及错误日志参数说明
2021/03/31 Servers
Python类方法总结讲解
2021/07/26 Python