GitHub のコードの場所: https://github.com/HansRen1024/Use-Python-to-call-Caffe-module
前書き#
通常、私たちは caffe が提供する make_mean.sh を使用して、prototxt 形式の平均ファイルを生成し、このスクリプトは最後に 3 つの平均値をターミナルに出力します。
以下のコードは、prototxt または平均値を.npy 形式の平均ファイルに変換する方法です。
一、prototxt を npy に変換#
import caffe
import numpy as np
prototxt = 'doc/mean.binaryproto'
npy = 'doc/mean.npy'
blob = caffe.proto.caffe_pb2.BlobProto()
data = open(prototxt, 'rb' ).read()
blob.ParseFromString(data)
array = np.array(caffe.io.blobproto_to_array(blob))
mean_npy = array[0]
np.save(npy ,mean_npy)
二、平均値を npy に変換#
import numpy as np
npy = 'doc/mean.npy'
mean = np.ones([3,256, 256], dtype=np.float) #256は画像サイズです
mean[0,:,:] = 100
mean[1,:,:] = 110
mean[2,:,:] = 120
np.save(npy, mean)
上記の内容は、以下を参考にしました: http://blog.csdn.net/hyman_yx/article/details/51732656