caffe测试分类结果命令行方式和Python方式结果不一致的问题

想着利用训练好的bvlc_reference_caffenet.caffemodel看看其单张图片分类的结果,我用classification.exe测试和用Python实现测试得到的分类结果得到的分数不一样,麻烦各位帮我看看是哪里的问题,或者帮我解答一下,谢谢各位了!
以下是我用命令行classification.exe的代码
..\build\x64\Release\classification.exe ^
bvlc_reference_caffenet\deploy.prototxt ^
bvlc_reference_caffenet.caffemodel ^
..\data\ilsvrc12\imagenet_mean.binaryproto ^
..\data\ilsvrc12\synset_words.txt ^
..\examples\images\person.jpg
pause
以下是Python的实现(这个是我根据网上的一些教程修改的)
# coding=utf-8

import numpy as np

import matplotlib.pyplot as plt

import os

import PIL

from PIL import Image

caffe_root = '../'
import caffe
import sys

sys.path.insert(0, caffe_root + 'Python')



MODEL_FILE = 'bvlc_reference_caffenet/deploy.prototxt'

PRETRAINED =  'bvlc_reference_caffenet.caffemodel'
#MODEL_FILE = 'bvlc_googlenet/deploy.prototxt'

#PRETRAINED =  'bvlc_googlenet.caffemodel'

# cpu模式

caffe.set_mode_cpu()

# 定义使用的神经网络模型

net = caffe.Classifier(MODEL_FILE, PRETRAINED,

                       mean=np.load(caffe_root + 'python/caffe/imagenet/ilsvrc_2012_mean.npy').mean(1).mean(1),

                       channel_swap=(2, 1, 0),

                       raw_scale=255,

                       image_dims=(227, 227))

imagenet_labels_filename = caffe_root + 'data/ilsvrc12/synset_words.txt'

labels = np.loadtxt(imagenet_labels_filename, str, delimiter='\t')

# 对目标路径中的图像,遍历并分类

#for root, dirs, files inos.walk("../examples/images"):

   # for file in files:
        # 加载要分类的图片

        #IMAGE_FILE = os.path.join('C:/caffe/caffe-master/examples/images', 'person.jpg').decode('gbk').encode('utf-8')

input_image = caffe.io.load_image('C:/caffe/caffe-master/examples/images/person.jpg')

        # 预测图片类别

prediction = net.predict([input_image])

print 'predicted class:', prediction[0].argmax()

        # 输出概率最大的前5个预测结果

top_k = net.blobs['prob'].data[0].flatten().argsort()[-1:-6:-1]

print  zip(net.blobs['prob'].data[0][top_k],labels[top_k])
测试的person.jpg的图片是在imagenet上下载的尺寸是240*240
这两个得到的结果图如下:
 
 
我想着是不是因为我的person.jpg的尺寸的问题导致的?
然后我调整person.jpg的尺寸为227*227问题依旧是这样。如果各位大神知道的话烦请帮我解答一下,谢谢!!!刚刚突然想到了为什么这两个的得到的分数的位数(精确度)也不一样。谢谢大家了。
结果.jpg perso.jpg
已邀请:

cv_ml_张欣男 - dl ml cv ocr

赞同来自: YE_ck

是不是均值设的不一样?

dawin

赞同来自: YE_ck

看下这三个文件是否一致:均值文件(imagenet_mean.binaryproto、ilsvrc_2012_mean.npy),配置文件(deploy.prototxt),还有参数配置

要回复问题请先登录注册