pycaffe共通APIレコード
3964 ワード
Classification:Instant Recognition with caffe
公式のチュートリアルについて説明します
公式のチュートリアルについて説明します
import caffe# caffe
caffe.set_mode_cpu()# cpu
#
net=caffe.Net(model_def,#prototext
model_weights,#caffemodel
caffe.TEST)# TEST
# mean.npy
import numpy as np
mu=np.load(file)
mu.mean(1).mean(1)# channel BGR
print 'mean-subtracted values:',zip('BGR',mu)
# caffe.io ,
# transform , data shape
transformer=caffe.io.Transformer({'data': net.blobs['data'].data.shape})
transformer.set_transpose('data',(2,0,1))#227x227x3->3x227x227
transformer.set_mean('data',mu)
transformer.set_raw_scale('data',255)
transformer.set_channel_swap('data',(2,1,0))# set_transpose()
#
#
net.blobs['data'].reshape(50,3,227,227)
image=caffe.io.load_image(file)#
transformed_image=transformer.preprocess('data',image)#!!!
plt.imshow(image)
#
# data
net.blobs['data'].data[...]=transfarmed_image
#
output=net.forward()
# batch
output_prob=output['prob'][0]#'prob'
print 'predicted class is: ',output_prob.argmax()
#
for layer_name,blob in net.blobs.iteritems():
print layer_name+'\t'+str(blob.data.shape)
# ,param[0] for weights, param[1] for biases
for layer_name,param in net.params.iteritems():
print layer_name+'\t'+str(param[0].data.shape,str(param[1].data.shape)
# ,