Caffe均值文件binaryproto转npy

来源:互联网 发布:网络平台合作合同范本 编辑:程序博客网 时间:2024/05/21 17:41

之前做过点项目,整理一下小细节。

mean.binaryproto转mean.npy

首先是生成binaryproto的sh文件

#!/usr/bin/env sh# Compute the mean image from the imagenet training lmdb# N.B. this is available in data/ilsvrc12EXAMPLE=.DATA=/data/model_train/trainSetTOOLS=/data/cuda+digits3.0+cudnnv5+opencv/caffe-master/build/tools$TOOLS/compute_image_mean $EXAMPLE/train_lmdb \  $EXAMPLE/train_lmdb/trainset_mean.binaryproto$TOOLS/compute_image_mean $EXAMPLE/test_lmdb \  $EXAMPLE/test_lmdb/testset_mean.binaryprotoecho "Done."
然后调用python脚本转换为npy数据

#!/usr/bin/env python#coding=gbkimport numpy as npimport osimport sysimport argparseimport globimport time,datetimeimport scipy.io as sciocaffe_root = '/data/cuda+digits3.0+cudnnv5+opencv/caffe-master/' #caffe-masterimport syspycaffe_dir=sys.path.insert(0, caffe_root + 'python')import caffecaffe.set_mode_gpu();if len(sys.argv)!=3:    print "Usage: python convert_mean.py mean.binaryproto mean.npy"    sys.exit()blob = caffe.proto.caffe_pb2.BlobProto()bin_mean = open( sys.argv[1] , 'rb' ).read()blob.ParseFromString(bin_mean)arr = np.array( caffe.io.blobproto_to_array(blob) )npy_mean = arr[0]np.save( sys.argv[2] , npy_mean )

在终端使用方法

python convert_mean.py mean.binaryproto mean.npy

0 0
原创粉丝点击