京东金融大数据竞赛猪脸识别(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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 全自动回复机器人_微信群机器人哪个好用

    全自动回复机器人_微信群机器人哪个好用本文转自:https://mp.weixin.qq.com/s?__biz=MzAxMjUyNDQ5OA==&mid=2653558126&idx=1&sn=b1a87e62fc2ae0a3b2e775dadf263ccc&chksm=806e3bd3b719b2c5a83684476a5b33f341c72b4b4399153ee3a2466a83c43d3b1b…

    2022年9月28日
    3
  • linux命令大全网址https://www.linuxcool.com/

    linux命令大全网址https://www.linuxcool.com/linux命令大全网址https://www.linuxcool.com/

    2022年7月1日
    26
  • Discuz 精心整理的搬家教程

    Discuz 精心整理的搬家教程由于种种原因,很多时候站长都需要对网站进行搬家,搬家会经常出现这样或那样的问题,现在对以往的经验做一个总结,希望对各位站长有所帮助。  网站的空间有独立与虚拟之分,下面分别介绍两种空间的搬家方法。  一、独立主机  网站搬家即数据的迁移,搬家前不论独立还是虚拟主机,网站都需关闭。数据的迁移分为数据库数据及程序和附件文件两部分的的迁移。  数据库的迁移:首先停止老服务器上的MySQL。复制MySQL数据存放目录下的数据文件,至于MySQL的数据存放目录,可以查看MySQL配…

    2022年7月25日
    19
  • sql文件导入数据库变乱码_sql查询的汉字乱码是怎么办

    sql文件导入数据库变乱码_sql查询的汉字乱码是怎么办首先建立同名空数据库1.用记事本(或UE)打开刚才的导出的SQL文件;2.另存此文件——打开另存为对话框,选择对话框中的编码格式为UNICODE编码;3.保存文件,然后CTRL+A,全选;4.复制里面的SQL语句到SQLyog中的“SQL编码器”当中,再执行一次SQL语句;5.执行完成后切记刷新一次,查看中文的数据表,乱码消除,大功告成;…

    2022年9月28日
    4
  • 机器学习小组知识点10:多项式分布(Mutibinomial distribution)

    机器学习小组知识点10:多项式分布(Mutibinomial distribution)介绍把二项分布公式再推广,就得到了多项分布。二项分布的典型例子是扔硬币,硬币正面朝上概率为pp,重复扔nn次硬币,kk次为正面的概率即为一个二项分布概率。(严格定义见二项分布中伯努利实验定义)把二项扩展为多项就得到了多项分布。比如扔骰子,不同于扔硬币,骰子有6个面对应6个不同的点数,这样单次每个点数朝上的概率都是16\frac{1}{6}(对应p1p_1至p6p_6,它们的值不一定都是16\f

    2022年8月31日
    2
  • Android Studio使用技巧系列教程(二)

    Android Studio使用技巧系列教程(二)

    2022年1月31日
    61

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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