您的位置:首页 > 其它

【深度学习】笔记7:如何将mean,binaryproto格式的均值文件转化为mean.npy格式的均值文件

2016-11-14 18:43 701 查看

(一)mean,binaryproto格式的均值文件到mean.npy格式的均值文件的转换

         使用Caffe的命令行接口进行操作是,我们经常生成的均值文件是mean,binaryproto格式的均值文件,但是当我们在利用训练好的模型进行分类/检测或者在做CNN各层的可视化的时候,我们通常使用的是Python接口;但在使用Python接口进行操作的时候,均值文件的格式是Numpy的格(mean.npy)。、

        因此,我么面临的一个问题是,如何实现:mean,binaryproto格式的均值文件到mean.npy格式的均值文件的转换

我们使用如下的代码进行转换

import sys                                         #[1]导入Python的sys模块
sys.path.append("/usr/lib/python2.7/dist-packages")
import caffe                                       #[2]导入caffe模块
import numpy as np                                 #[3]导入矩阵数值运算程序库
#[4]待转化的均值文件的路径
MEAN_PROTO_PATH = '/wei/home/caffe/examples/myself/myself_cifar10_mean.binaryproto'
#[5]转换后的numpy格式图像均值文件路径
MEAN_NPY_PATH = '/wei/home/caffe/examples/myself/mean.npy'

blob = caffe.proto.caffe_pb2.BlobProto()           #[6]创建protobuf blob
data = open(MEAN_PROTO_PATH, 'rb' ).read()         #[7]读入mean.binaryproto文件内容
blob.ParseFromString(data)                         #[8]解析文件内容到blob

array = np.array(caffe.io.blobproto_to_array(blob))#[9]将blob中的均值转换成numpy格式
mean_npy = array[0]                                #[10]一个array中可以有多组均值存在,故需要通过下标选择其中一组均值
np.save(MEAN_NPY_PATH ,mean_npy)


(二)生成的文件如下所示:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐