本文主要讲解如何用caffe已训练好的模型进行手写数字的预测。准备:1、数字图片。任意尺寸,可以是彩色,也可以是灰度的。如果是灰度的,把下面代码里的彩色转灰度的代码去掉就行。2、已训练好的模型。例如:lenet_iter_10000.caffemodel
预测的步骤比较简单,主要是读取图片、构建网络、前向传播。其中最关键的就是读取图片了。一开始我使用的caffe进行读取图片:caffe.io.load_image(),但是预测结果都是错的,目前还没有发现是什么原因引起的。改用opencv进行读取就对了。代码是根据github上一个例程修改的,这是源代码的链接:caffe-mnist-test
下面直接给出代码:
#predict.py
import os
import caffe
import numpy as np
import cv2
caffe_root = caffe_dir(替换自己的Caffe根目录)
MODEL_FILE = caffe_root+'examples/mnist/lenet.prototxt'
PRETRAINED = caffe_root+'examples/mnist/lenet_iter_10000.caffemodel'
IMAGE_FILE = caffe_root+'examples/mnist/test/8.bmp'