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实现把utf-8格式的文件转换成gbk格式的文件
Jan 22 Python
详解python里使用正则表达式的全匹配功能
Oct 19 Python
tensorflow实现对图片的读取的示例代码
Feb 12 Python
基于Python3.6+splinter实现自动抢火车票
Sep 25 Python
在Python中将函数作为另一个函数的参数传入并调用的方法
Jan 22 Python
python实现鸢尾花三种聚类算法(K-means,AGNES,DBScan)
Jun 27 Python
django中SMTP发送邮件配置详解
Jul 19 Python
django数据库自动重连的方法实例
Jul 21 Python
如何用Python来理一理红楼梦里的那些关系
Aug 14 Python
Python 脚本拉取 Docker 镜像问题
Nov 10 Python
python爬虫开发之Beautiful Soup模块从安装到详细使用方法与实例
Mar 09 Python
pycharm中leetcode插件使用图文详解
Dec 07 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程序61条面向对象分析设计的经验小结
2008/11/12 PHP
简单的PHP留言本实例代码
2010/05/09 PHP
yii实现级联下拉菜单的方法
2014/07/31 PHP
PHP实现从远程下载文件的方法
2015/03/12 PHP
php array_merge函数使用需要注意的一个问题
2015/03/30 PHP
php事务回滚简单实现方法示例
2017/03/28 PHP
jQuery登陆判断简单实现代码
2013/04/21 Javascript
JQuery异步加载无限下拉框级联功能实现示例
2014/02/19 Javascript
JavaScript中的值类型详细介绍
2014/12/29 Javascript
基于jQuery实现放大镜特效
2020/10/19 Javascript
vue中的scope使用详解
2017/10/29 Javascript
值得收藏的vuejs安装教程
2017/11/21 Javascript
vue单页应用加百度统计代码(亲测有效)
2018/01/31 Javascript
重置Redux的状态数据的方法实现
2019/11/18 Javascript
[02:10]三分钟回顾完美世界城市挑战赛
2019/01/24 DOTA
[01:18:45]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第三场2月1日
2021/03/11 DOTA
Python随机生成数模块random使用实例
2015/04/13 Python
python实现简易云音乐播放器
2018/01/04 Python
Python基于lxml模块解析html获取页面内所有叶子节点xpath路径功能示例
2018/05/16 Python
django ModelForm修改显示缩略图 imagefield类型的实例
2019/07/28 Python
Python socket实现的文件下载器功能示例
2019/11/15 Python
python安装和pycharm环境搭建设置方法
2020/05/27 Python
python datetime时间格式的相互转换问题
2020/06/11 Python
德国体育用品网上商店:SC24.com
2016/08/01 全球购物
Omio西班牙:全欧洲低价大巴、火车和航班搜索和比价
2017/02/11 全球购物
Expedia英国:全球最大的在线旅游公司
2017/09/07 全球购物
印度首选时尚目的地:Reliance Trends
2018/01/17 全球购物
SteelSeries赛睿官网:游戏外设和配件的领先制造商(耳机、键盘、鼠标和鼠标垫)
2018/06/17 全球购物
海蓝之谜英国官网:La Mer英国
2020/01/15 全球购物
《骑牛比赛》教后反思
2014/04/22 职场文书
奥林匹克运动会口号
2014/06/19 职场文书
倡议书格式
2014/08/30 职场文书
nginx处理http请求实现过程解析
2021/03/31 Servers
python Polars库的使用简介
2021/04/21 Python
vue响应式原理与双向数据的深入解析
2021/06/04 Vue.js
Go语言应该什么情况使用指针
2021/07/25 Golang