caffe binaryproto 与 npy相互转换的实例讲解


Posted in Python onJuly 09, 2018

在caffe中,如果使用的是c++接口,均值文件默认为.binaryproto格式,而如果使用的是python接口,均值文件默认的是numpy的.npy格式,在工作中有时需要将两者进行互相转换,具体方式如下:

binaryproto -> npy

import numpy as np
import caffe
import sys

blob = caffe.proto.caffe_pb2.BlobProto()
data = open( 'mean.binaryproto' , 'rb' ).read()
blob.ParseFromString(data)
arr = np.array( caffe.io.blobproto_to_array(blob) )
out = arr[0]
np.save( 'mean.npy' , out )

npy -> binaryproto

data_mean is 1*H*W

import numpy as np
import caffe
import sys

blob = caffe.proto.caffe_pb2.BlobProto()
with open('mean.npy','rb') as f:
  data_mean = numpy.load(f)
blob.channels=1
blob.height = data_mean.shape[0]
blob.width = data_mean.shape[1]
blob.data.extend(data_mean.astype(float).flat)
binaryproto_file = open('mean.binaryproto', 'wb' ) 
binaryproto_file.write(blob.SerializeToString())
binaryproto_file.close()

以上这篇caffe binaryproto 与 npy相互转换的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
用python实现批量重命名文件的代码
May 25 Python
Python numpy生成矩阵、串联矩阵代码分享
Dec 04 Python
创建pycharm的自定义python模板方法
May 23 Python
python读取文本绘制动态速度曲线
Jun 21 Python
python中redis查看剩余过期时间及用正则通配符批量删除key的方法
Jul 30 Python
使用PyCharm创建Django项目及基本配置详解
Oct 24 Python
使用python对文件中的数值进行累加的实例
Nov 28 Python
Python线程之定位与销毁的实现
Feb 17 Python
python网络编程之多线程同时接受和发送
Sep 03 Python
Python socket模块方法实现详解
Nov 05 Python
python中wx模块的具体使用方法
May 15 Python
Python爬虫爬取有道实现翻译功能
Nov 27 Python
利用Python如何生成便签图片详解
Jul 09 #Python
Caffe均值文件mean.binaryproto转mean.npy的方法
Jul 09 #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
You might like
wamp服务器访问php非常缓慢的解决过程
2015/07/01 PHP
PHP 错误处理机制
2015/07/06 PHP
ThinkPHP项目分组配置方法分析
2016/03/23 PHP
PHP实现的堆排序算法详解
2017/08/17 PHP
PHP中SESSION过期设置
2021/03/09 PHP
JQuery AJAX实现目录浏览与编辑的代码
2008/10/21 Javascript
Javascript 自定义类型方法小结
2010/03/02 Javascript
12306验证码破解思路分享
2015/03/25 Javascript
js限制input标签中只能输入中文
2015/06/26 Javascript
javascript学习笔记整理(概述、变量、数据类型简介)
2015/10/25 Javascript
Vue2.0实现组件数据的双向绑定问题
2018/03/06 Javascript
Node.js中你不可不精的Stream(流)
2018/06/08 Javascript
解决vant-UI库修改样式无效的问题
2020/11/03 Javascript
Python中实现字符串类型与字典类型相互转换的方法
2014/08/18 Python
Python 12306抢火车票脚本 Python京东抢手机脚本
2018/02/06 Python
Python3.5常见内置方法参数用法实例详解
2019/04/29 Python
python使用mitmproxy抓取浏览器请求的方法
2019/07/02 Python
使用python实现希尔、计数、基数基础排序的代码
2019/12/25 Python
双向RNN:bidirectional_dynamic_rnn()函数的使用详解
2020/01/20 Python
Python3和PyCharm安装与环境配置【图文教程】
2020/02/14 Python
使用jupyter notebook直接打开.md格式的文件
2020/04/10 Python
使用Python内置模块与函数进行不同进制的数的转换
2020/04/26 Python
Python猫眼电影最近上映的电影票房信息
2020/09/18 Python
手把手教你用纯css3实现轮播图效果实例
2017/05/04 HTML / CSS
英国设计师珠宝网站:Joshua James Jewellery
2020/03/01 全球购物
一些.net面试题
2014/10/06 面试题
大学自主招生自荐信
2013/12/16 职场文书
求职简历中自我评价
2014/01/28 职场文书
运动会开幕式邀请函
2014/02/03 职场文书
篮球比赛口号
2014/06/10 职场文书
小学安全工作汇报材料
2014/08/19 职场文书
2014年重阳节活动策划方案书
2014/09/16 职场文书
党员“四风”问题批评与自我批评思想汇报
2014/10/06 职场文书
2015年度信用社工作总结
2015/05/04 职场文书
Go 在 MongoDB 中常用查询与修改的操作
2021/05/07 Golang
你真的了解redis为什么要提供pipeline功能
2021/06/22 Redis