网络编程
位置:首页>> 网络编程>> Python编程>> caffe binaryproto 与 npy相互转换的实例讲解

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

作者:无眠栀  发布时间:2021-10-22 15:38:48 

标签: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()

来源:https://blog.csdn.net/may0324/article/details/52316967

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com