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

(一)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)



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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值