caffe binaryproto 与 npy相互转换的实例讲解
在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相互转换的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
Caffe均值文件mean.binaryproto转mean.npy的方法
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.binarypr
-
caffe binaryproto 与 npy相互转换的实例讲解
在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' ).r
-
python中Array和DataFrame相互转换的实例讲解
python中,对于array数组中的数据放在DataFrame数据框中可以更好的进行数据分析,但是二者并不是一个数据类型,因此需要将array转dataframe.既然可以array转dataframe,那么可同样dataframe也可以转回array结构.本文介绍python中Array和DataFrame相互转换的方法. 1.array转dataframe:直接用pd.dataframe()进行转化 使用格式 a = pd.DataFrame(a) 具体实例 import pandas a
-
NumPy.npy与pandas DataFrame的实例讲解
用CSV格式来保存文件是个不错的主意,因为大部分程序设计语言和应用程序都能处理这种格式,所以交流起来非常方便.然而这种格式的存储效率不是很高,原因是CSV及其他纯文本格式中含有大量空白符;而后来发明的一些文件格式,如zip.bzip和gzip等,压缩率则有了显著提升. 首先导入模块: In [1]: import numpy as np In [2]: import pandas as pd In [3]: from tempfile import NamedTemporaryFile In [
-
python中字符串变二维数组的实例讲解
有一道算法题题目的意思是在二维数组里找到一个峰值.要求复杂度为n. 解题思路是找田字(四边和中间横竖两行)中最大值,用分治法递归下一个象限的田字. 在用python定义一个二维数组时可以有list和numpy.array两种方式,看了几篇python中二维数组的建立的博客发现大多都是建立的初始化的二维数组,而我需要通过文件读取得到的是字符串,再把字符串转换为二维数组,找不到解决方法还是决定自己来转换. 首先,最开始的字符串输出如下,数字之间有空格 思路就是把先按换行符进行切片,再对每一行的字符再
-
python+opencv+caffe+摄像头做目标检测的实例代码
首先之前已经成功的使用Python做图像的目标检测,这回因为项目最终是需要用摄像头的, 所以实现摄像头获取图像,并且用Python调用CAFFE接口来实现目标识别 首先是摄像头请选择支持Linux万能驱动兼容V4L2的摄像头, 因为之前用学ARM的时候使用的Smart210,我已经确认我的摄像头是支持的, 我把摄像头插上之後自然就在 /dev 目录下看到多了一个video0的文件, 这个就是摄像头的设备文件了,所以我就没有额外处理驱动的部分 一.检测环境 再来在开始前因为之前按着国嵌的指导手册安
-
C语言实例讲解四大循环语句的使用
目录 一.do…while()循环 1. 图示流程 2. 代码流程 3. 示例代码1到100求和) 二.while()循环 1. 图示流程 2. 代码流程 3. 示例代码(1到100求和) 三.for()循环 1. 图示流程 2. 代码流程 3. 示例代码(1到100求和) 四.goto循环 1. 代码流程 2. 示例代码-1(1到100求和) 3. 示例代码-2 一.do…while()循环 1. 图示流程 从上面图示 do…while() 语句流程中可以看出,do…while() 语句会先进
-
django定期执行任务(实例讲解)
要在django项目中定期执行任务,比如每天一定的时间点抓取数据,刷新数据库等,可以参考stackoverflow的方法,先编写一个manage.py命令,然后使用crontab来定时执行这个命令. 定制manage.py命令 app可以使用manage.py注册自己的命令,比如要在polls这个app中定制一个closepoll命令,要先向polls文件夹中添加一个management/commands的目录: polls/ __init__.py models.py management/
-
jq源码解析之绑在$,jQuery上面的方法(实例讲解)
1.当我们用$符号直接调用的方法.在jQuery内部是如何封装的呢?有没有好奇心? // jQuery.extend 的方法 是绑定在 $ 上面的. jQuery.extend( { //expando 用于决定当前页面的唯一性. /\D/ 非数字.其实就是去掉小数点. expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), // Assume jQuery is ready wit
-
jquery之基本选择器practice(实例讲解)
一.在输入框中输入数字,点击按钮,实现对应事件的功能. html代码: <input id="txt1" type="text" value="2" /> <input id="Button5" type="button" value="改变大于N的行背景为绿色" /> jQuery代码: //改变大于N的行背景为绿色 $("#Button5"
-
python爬取安居客二手房网站数据(实例讲解)
是小打小闹 哈哈,现在开始正式进行爬虫书写首先,需要分析一下要爬取的网站的结构:作为一名河南的学生,那就看看郑州的二手房信息吧! 在上面这个页面中,我们可以看到一条条的房源信息,从中我们发现了什么,发现了连郑州的二手房都是这么的贵,作为即将毕业的学生狗惹不起啊惹不起 还是正文吧!!!由上可以看到网页一条条的房源信息,点击进去后就会发现: 房源的详细信息.OK!那么我们要干嘛呢,就是把郑州这个地区的二手房房源信息都能拿到手,可以保存到数据库中,用来干嘛呢,作为一个地理人,还是有点用处的,这次就不说
随机推荐
- JavaScript的Ext JS框架中的GridPanel组件使用指南
- SQLite3中自增主键相关知识总结
- jQuery的实现原理的模拟代码 -1 核心部分
- 无法启动Apache的问题解决方法
- 使用c#在word文档中创建表格的方法详解
- 深入理解Ajax的get和post请求
- Windows server 2008 r2上安装MySQL5.7.10步骤
- C++虚函数表实例分析
- MSSQL 数据库同步教程
- 注册用户就出现这个CDO.Message.1 错误 80040220
- jQuery插件开发汇总
- JS自定义滚动条效果简单实现代码
- 在IIS6中新增可下载文件类型的方法
- 关于System.Convert的那些事儿
- python实现中文分词FMM算法实例
- c#利用webmail邮件系统发送邮件示例分享
- C#实现实体类与字符串互相转换的方法
- android4.0与2.3版本的TP代码区别解析
- mysql 8.0.14 安装配置方法图文教程(通用)
- Java8并行流中自定义线程池操作示例