沉沙
2018-10-11
来源 :
阅读 1653
评论 0
摘要:本篇教程介绍了大数据应用 京东金融大数据竞赛猪脸识别(8)- 识别方法之四,希望阅读本篇文章以后大家有所收获,帮助大家对大数据云计算大数据应用的理解更加深入。
本篇教程介绍了大数据应用 京东金融大数据竞赛猪脸识别(8)- 识别方法之四,希望阅读本篇文章以后大家有所收获,帮助大家对大数据云计算大数据应用的理解更加深入。
<
除了softmax层构建的深度网络,Matlab还有一个简单的构建数据分类的函数,那就是patternnet,其用法类似。可以直接对图像特征数据处理,也可以对图像集处理。代码如下:
%exam1.m 用训练图像特征构建深度网络并计算测试图像得分
clear;
load(‘JDPig_mlhmslbp_spyr.mat‘);
m = numel(classe_name);
n = length(y);
label = []
for i=1:n
label(:,i) = zeros(m,1);
label(y(i),i) = 1;
end
testImg = load(‘JDTest_mlhmslbp_spyr.mat‘);
if ~exist(‘patternnet.mat‘)
net = patternnet(1000);
net = train(net,X,label);
fprintf(‘saving net\n‘);
save(‘patternnet.mat‘,‘net‘);
else
load(‘patternnet.mat‘,‘net‘);
fprintf(‘loading net\n‘);
end
if ~exist(‘resPatternnet.mat‘)
view(net);
scores = net(testImg.X);
save(‘resPatternnet.mat‘,‘scores‘);
else
load(‘resPatternnet.mat‘,‘scores‘);
end
fprintf(‘Testing images!\n‘);
load(‘testName.mat‘,‘imgName‘);
for i=1:length(scores)
for j=1:m
indImg((i-1)*m+j) = imgName(i);
plabel((i-1)*m+j) = j;
prob((i-1)*m+j) = scores(j,i);
end
end
T = table(indImg‘,plabel‘,prob‘);
writetable(T,‘resPatternnet.csv‘);
fprintf(‘Image recognition finished!\n‘);
clear;
% 不用特征文件,对图像文件夹进行处理
trainFolder = fullfile(pwd, ‘image‘);
testFolder = fullfile(pwd, ‘query‘);
testSet = imageSet(testFolder); %query image
trainImds = imageDatastore(trainFolder,‘IncludeSubfolders‘,true,‘FileExtensions‘,‘.jpg‘,‘LabelSource‘,‘foldernames‘);
testImds = imageDatastore(testFolder,‘IncludeSubfolders‘,false);
setNum = numel(qImageSets);
y = trainImds.Labels;
n = length(y);
label = []
for i=1:n
label(:,i) = zeros(m,1);
label(y(i),i) = 1;
end
for i=1:
if ~exist(‘patternnet1024.mat‘)
net = patternnet(1024);
net = train(net,X,label);
fprintf(‘saving net\n‘);
save(‘patternnet1024.mat‘,‘net‘);
else
load(‘patternnet1024.mat‘,‘net‘);
fprintf(‘loading net\n‘);
end
if ~exist(‘resPatternnet1024.mat‘)
view(net);
scores = net(testImg.X);
save(‘resPatternnet1024.mat‘,‘scores‘);
else
load(‘resPatternnet1024.mat‘,‘scores‘);
end
fprintf(‘Testing images!\n‘);
load(‘testName.mat‘,‘imgName‘);
for i=1:length(scores)
for j=1:m
indImg((i-1)*m+j) = imgName(i);
plabel((i-1)*m+j) = j;
prob((i-1)*m+j) = scores(j,i);
end
end
T = table(indImg‘,plabel‘,prob‘);
writetable(T,‘resPatternnet2000.csv‘);
fprintf(‘Image recognition finished!\n‘);
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标大数据云计算大数据应用频道!
喜欢 | 0
不喜欢 | 0
您输入的评论内容中包含违禁敏感词
我知道了

请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号