deploy文件的修改目是为了我们能够真正使用训练好的模型进行预测,输出概率及最佳结果的重要过程。
问题背景:
如我们前面已经生成了一个预测手写体识别的模型,我们现在如何预测某个人写的数字是多少呢?预测的概率是多少呢?
最终解决的结果:
为了达到以上的结果,我们需要做3步骤
第一步,修改mnist_deploy.prorotxt文件
第二步,编写test_mnist.cpp文件
第三步,编译运行输出结果
第一步,修改prorotxt文件:
我们首先要对之前propotxt进行修改,用来满足我们的需求。
在修改propotxt之前我们可以对之前的网络结构进行一个直观的认识:可以使用http://ethereon.github.io/netscope/#/editor 这个网址。将propotxt文件内容复制后会得到可视化模型,之前训练模型如图所示:
其实我们的目标就是使用模型的权重最后输出类别概率,所以loss,label我们都不要了。根据上面的图我们对原始结构进行修改,如下:
name: "LeNet"
input: "data"
input_shape {
dim: 1 # batchsize
dim: 1 # number of colour channels - rgb
dim: 28 # width
dim: 28 # height
}
layer {
name: "conv1"
type: "Convolution"
bottom: "data"
top: "conv1"
par