Caffe学习:pycaffe利用caffemodel进行分类(2)

不同于pycaffe利用caffemodel进行分类,这里利用pycaffe包装好的classifier.py来进行分类,详见:/caffe/python/caffe/classifier.py


  • 导入相关库
import caffe
  • 配置
# caffemodel文件
MODEL_FILE = 'model/_iter_10000.caffemodel'
# deploy文件,参考/caffe/models/bvlc_alexnet/deploy.prototxt
DEPLOY_FILE = 'deploy.prototxt'
# 测试图片存放文件夹
TEST_ROOT = 'datas/'
  • GPU模式测试
caffe.set_mode_gpu()
  • 网络构建(含数据预处理 => 详见pycaffe利用caffemodel进行分类(1)):
net = caffe.Classifier(MODEL_FILE, PRETRAIN_FILE,
                       raw_scale=255, channel_swap=(2, 1, 0))
  • 读取图片
# 详见/caffe/python/caffe/io.py
img = caffe.io.load_image('temp.jpg')
# 读取的图片文件格式为H×W×K,需转化
  • 数据输入,进行分类:
# 需注意第一个参数为数组
# 默认采用过采样(详见**/caffe/python/caffe/io.py**),这里取消
out = net.predict([img], oversample=False)
# 输出结果为各个可能分类的概率分布
  • 最可能分类
pridect = out.argmax()

你可能感兴趣的:(caffe,python)