caffe之均值文件

来源:互联网 发布:喝酒的好处知乎 编辑:程序博客网 时间:2024/06/05 08:54

sudo python convert_mean.py mean.binaryproto mean.npy

一.二进制的均值计算

caffe中使用的均值数据格式是binaryproto, caffe为我们提供了一个计算均值的文件compute_image_mean.cpp, 在caffe目录下的build/tool文件中

sudo build/tools/compute_image_mean examples/mnist/mnist_train_lmdb examples/mnist/mean.binaryproto
第一个参数:examples/mnist/mnist_train_lmdb, 表示需要计算均值的数据,格式为lmdb的训练数据

第二个参数:examples/mnist/mean.binaryproto, 计算出来的结果保存文件。

二. python格式的均值计算

由python脚本实现

  1 #!/usr/bin/env python                                                         2 import numpy as np  3 import sys,caffe  4   5 if len(sys.argv)!=3:  6     print "Usage: python convert_mean.py mean.binaryproto mean.npy"  7     sys.exit()  8   9 blob = caffe.proto.caffe_pb2.BlobProto() 10 bin_mean = open( sys.argv[1] , 'rb' ).read() 11 blob.ParseFromString(bin_mean) 12 arr = np.array( caffe.io.blobproto_to_array(blob) ) 13 npy_mean = arr[0] 14 np.save( sys.argv[2] , npy_mean )
将这个脚本保存为convert_mean.py,调用

python convert_mean.py mean.binaryproto mean.npy
convert_mean.py  上述脚本文件

mean.binaryproto 上述的二进制文件

mean.npy 为保存的python格式的均值文件

自己使用过的一个脚本

  1 #!usr/bin/env python  2 import PIL  3 import image  4 import sys  5 import time  6 import os  7 import numpy as np  8 from matplotlib import pyplot as plt  9  10 start = time.time()                                                          11  12 # Make sure that caffe is on the python path 13 caffe_root = '/home/caffe/'   14 sys.path.insert(0, caffe_root + 'python') 15  16 import caffe 17 # "source" is the binary file converted by the command shell  18 # "des" is the binary file with python format converted from "source" 19 source = caffe_root + 'examples/mnist/mean.binaryproto' 20 des = caffe_root + 'examples/mnist/mean_1.npy' 21  22 # BlobProto object 23 blob = caffe.proto.caffe_pb2.BlobProto() 24 data = open( source , 'rb' ).read() 25 # parsing source data 26 blob.ParseFromString(data) 27 # convert to npy format 28 arr = np.array( caffe.io.blobproto_to_array(blob) ) 29 out = arr[0] 30 # save the converted result 31 np.save( des , out )~                         


注:


sudo pip install image



权限不够,获取root权限


在进入python编辑模式时import caffe并没有报错,运行脚本文件时却提示我没有 module caffe

sudo python convert_mean.py mean.binaryproto mean.npy
将sudo 去掉后可以运行

本章主要参考http://www.cnblogs.com/denny402/p/5102328.html

0 0
原创粉丝点击