京东金融大数据竞赛猪脸识别(8)- 识别方法之四

京东金融大数据竞赛猪脸识别(8)- 识别方法之四除了softmax层构建的深度网络,Matlab还有一个简单的构建数据分类的函数,那就是patternnet,其用法类似。可以直接对图像特征数据处理,也可以对图像集处理。代码如下:%exam1.m用训练图像特征构建深度网络并计算测试图像得分clear;load(‘JDPig_mlhmslbp_spyr.mat’);m=numel(classe_name);n=length(y)…

大家好,又见面了,我是你们的朋友全栈君。

除了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');

代码功能与上节京东金融大数据竞赛猪脸识别(6)- 识别方法之三类似,可参看其注释。

转载于:https://blog.51cto.com/8764888/2086338

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/151911.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • echarts图表在Tab页中width: 100%失效导致的第一个Tab页之后的Tab页图表不能正常显示的问题

    echarts图表在Tab页中width: 100%失效导致的第一个Tab页之后的Tab页图表不能正常显示的问题

    2021年11月22日
  • Jenkins教程(自动化部署)

    Jenkins教程(自动化部署)Jenkins实现自动化项目部署

  • jmeter 中 Client implementation HttpClient4和java区别实践一

    jmeter 中 Client implementation HttpClient4和java区别实践一好吧,最近还是在折腾Jmeter,在一个post请求中,发现啃爹的竟然带有特殊字符:’怎么办,直接将数据写入,如下:然后在实际用post发请求时,jmeter自动给转义了,如下:xxxx=%27qq%27%3A%2720%27&rrr=%7Bqq%27  怎么办???那就加加转义字符试试,与是,加了”\”,“\\”,“\\\”,“\\\\”都…

  • jmeter ip欺骗_jmeter支持的协议

    jmeter ip欺骗_jmeter支持的协议由于服务器出于安全考虑会对同一IP地址做过滤,所以如果想要达到正常的压测效果,我们需要在发请求时伪造出不同的IP地址。主要步骤分为以下3步:第一步:在负载机上绑定IP地址。第二步:在要欺骗的http请求中,修改Implementation为httpclient模式。第三步:在要欺骗的http请求中,修改SourceIPAddress,指定请求要用到的本地地址(参数化)。首先打开负载机上的

  • java pfx_如何在Java处理PFX格式证书

    java pfx_如何在Java处理PFX格式证书如何在Java处理PFX格式证书公钥加密技术12号标准(PublicKeyCryptographyStandards#12,PKCS#12)为存储和传输用户或服务器私钥、公钥和证书指定了一个可移植的格式。它是一种二进制格式,这些文件也称为PFX文件。开发人员通常需要将PFX文件转换为某些不同的格式,如PEM或JKS,以便可以为使用SSL通信的独立Java客户端或WebLogicServe…

  • 英语词根词缀总结整合版

    请大家想一想,英语是谁发明的?英国人呗!英国人认不认识汉语?不认识!那么英国人在学英语单词的时候需不需要记住单词的汉语意思?不需要,英国人的英语课本里根本就没有汉字,何谈记住单词的汉语意思?那么既然英国人学英语不需要记住(甚至根本就见不到)单词的汉语意思,那么中国人学英语为什么要去记住单词的汉语意思呢?这种做法大家不觉得奇怪吗?然而由于中国人学英语时都在背单词的汉语意思,因此大家反而觉不出“背…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号