clear;
%加载训练图像特征
load(‘JDPig_mlhmslbp_spyr.mat‘);
m = numel(classe_name);
n = length(y);
label = []
%one-hot编码
for i=1:n
label(:,i) = zeros(m,1);
label(y(i),i) = 1;
end
%加载测试图像特征
testImg = load(‘JDTest_mlhmslbp_spyr.mat‘);
if ~exist(‘resSoftMaxMlhms.mat‘)
%训练softmax层
net = trainSoftmaxLayer(X,label);
%获取测试图像类别
Yp = net(testImg.X);
save(‘resSoftMaxMlhms.mat‘,‘Yp‘,‘net‘);
else
load(‘resSoftMaxMlhms.mat‘,‘Yp‘,‘net‘);
end
%构造图像、类别、识别概率的table型变量
load(‘testName.mat‘,‘imgName‘);
for i=1:length(Yp)
for j=1:m
indImg((i-1)*m+j) = imgName(i);
plabel((i-1)*m+j) = j;
prob((i-1)*m+j) = Yp(j,i);
end
end
T = table(indImg‘,plabel‘,prob‘);
%将各测试图像对于各类别概率存为csv文件
writetable(T,‘myData.csv‘);
原文地址:http://blog.51cto.com/8764888/2086308