使用MATCaffe测试MNIST分类时获得低精度

时间:2016-10-20 11:21:02

标签: caffe matcaffe

问题: 使用MatCaffe测试MNIST分类时,我的准确度非常低(10%)。

背景 我使用lenet_train_testlenet_solver训练了MNIST数字,并在caffe基本界面中观察到~99%的测试精度。我保存了caffmodel并希望使用MatCaffe interface验证准确性。因此,我创建了一个 deploy.prototxt 文件(使用lenet_train_test),批量大小10000 (等于测试图像的数量)。我还将MNIST测试图像和标签保存在单个mat文件中。我的Matlab代码如下:

%% Load Data and Labels
load('mnist_test_lmdb.mat')
I = infoData.imgData; % All images
true_labels = infoData.labelInfo; % All labels

% Model deployment file and weights
modelName = 'lenet_deploy.prototxt';
modelWeight = 'lenet_iter_10000.caffemodel';

% Set-up net
caffe.set_device(1);
caffe.set_mode_gpu();
net = caffe.Net(modelName, modelWeight, 'test');

% Preprocess images
scale= 0.00390625;
J = single(I) * scale;
J = reshape(J, size(J,1), size(J,2), 1, size(J,3));

% Run Network
net.forward({J});
probs = net.blobs('prob').get_data()';

% Get predicted labels        
[~, pred_labels] = max(probs, [], 2);
pred_labels = pred_labels' - 1; % class label begins from 0

accuracy = sum(pred_labels(:,1)==true_labels(:,1))/size(true_labels,1);

我想知道我在代码中遗漏了什么?

0 个答案:

没有答案