引言
如果要把训练好的模型拿来测试新的图片,那么必须要一个 depoly.prototxt 文件,这个文件实际上和 test.prototxt 文件差不多,只是头尾不相同而已。 deploy 文件没有第一层的数据输入层,也没有最后的 accuracy 层,但最后多一个 softmax 概率层。
python代码生成 deploy 文件:(以 mnist 为例)
from caffe import layers as L,params as P,to_proto
root='/home/xxx/'
deploy=root+'mnist/deploy.prototxt' #文件保存路径
def create_deploy():
#少了第一层,data层
conv1=L.Convolution(bottom='data', kernel_size=5, stride=1,num_output=20, pad=0,weight_filler=dict(type='xavier'))
pool1=L.Pooling(conv1, pool=P.Pooling.MAX, kernel_size=2, stride=2)
conv2=L.Convolution(pool1, kernel_size=5, stride=1,num_output=50, pad=0,weight_filler=dict(type='xavier'))
pool2=L.Pooling(conv2, pool=P.Pooling.MAX, kernel_size=2, stride=2)
fc3=L.InnerProduct(pool2, n