DL开源框架Caffe | 用训练好的模型对数据进行预测

一句话理解Caffe:

  Caffe的万丈高楼(Net)是按照我们设计的图纸(prototxt),用很多砖块(Blob)筑成一层层(Layer)楼房,最后通过某些手段(Solver)进行简装修(Train)/精装修(Finetune)实现的,另外每个楼层都可以被购买规己用,那么就会有归属(Lable)。


一 Caffe识别问题上利用训练好的模型预测

利用已有的模型可以对测试数据集进行预测,命令:

./build/tools/caffe.bin test \
> -model examples/mnist/lenet_train_test.prototxt \
> -weights examples/mnist/lenet_iter_10000.caffemodel \
> -iterations 100

命令行解析:

./build/tools/caffe.bin test \
//表示只做预测,不进行参数更新
> -model examples/mnist/lenet_train_test.prototxt \
//指定模型描述文本文件
> -weights examples/mnist/lenet_iter_10000.caffemodel \
//指定模型预先训练好的权值文件
> -iterations 100
//指定测试迭代次数。参与测试样例数目 = 迭代次数 * batch_size

输出日志:

这里写图片描述

二 Caffe检测问题上利用训练好的模型预测

这里主要针对py-faster-rcnn的目标检测模型来讲,训练完成的model如何直接用来测试自己的图像呢?

1、训练完成之后,将output/faster_rcnn_end_to_end/voc_2007_trainval中的最终模型拷贝到data/faster_rcnn_models(删除以前生成类似的model)中。

2、修改/tools/demo.py为(最好拷贝一份修改):

(1) CLASSES =(‘background‘, ‘xxx’)(这里是你的类别名)

(2) NETS ={‘vgg16’: (‘VGG16’, ‘VGG16_faster_rcnn_final.caffemodel’),
      ‘zf’:  (‘ZF’,’ZF_faster_rcnn_final.caffemodel’)} (这里是你训练完成的model)

(3) 在训练集图片中找一张出来放入py-faster-rcnn/data/demo文件夹中,命名为000001.jpg。

  im_names = ['000001.jpg'](需要测试的图像名称)

(4) 根据你自己的训练方式修改命令行输入参数,默认的训练方式为alt_opt的!

3、运行demo,即在py-faster-rcnn文件夹下终端输入: ./tools/demo.py –net zf

猜你喜欢

转载自blog.csdn.net/u010402786/article/details/52451423