mean.binaryproto转换为mean.npy
import caffe
import numpy as np
meanProtoPath = 'mean/mean.binaryproto'
meanNpyPath='mean/mean.npy'
blob=caffe.proto.caffe_pb2.BlobProto()
data=open(meanProtoPath, 'rb').read()
blob.ParseFromString(data)
array = np.array(caffe.io.blobproto_to_array(blob))#j转换为numpy格式
mean_npy = array[0]
np.save(meanNpyPath,mean_npy)
mean_npy=np.load(meanNpyPath)
mean = mean_npy.mean(1).mean(1)
print mean
mean.npy转换为mean.binaryproto
import numpy as np
import caffe
import sys
meanProtoPath = 'mean/meanTest.binaryproto'
meanNpyPath='mean/mean.npy'
blob = caffe.proto.caffe_pb2.BlobProto()
with open(meanNpyPath,'rb') as f:
mean = np.load(f)
blob.channels=1
blob.height=mean.shape[0]
blob.width = mean.shape[1]
blob.data.extend(mean.astype(float).flat)
binaryprotoFile = open(meanProtoPath,'wb')
binaryprotoFile.write(blob.SerializeToString())
binaryprotoFile.close()