MATLAB调用训练好的卷积神经网络

上一篇链接:MATALB 卷积神经网络 图片二分类

上一篇已经介绍了如何对数据通过CNN进行深度学习分类,并将训练好的模型保存下来。

这里将介绍一下如何调用自己已经训练好的模型进行数据分类。

1、加载模型

clear 
close all
clc
load('-mat','C:\Users\清风\Desktop\网络训练数据集\cnn3.mat');%加载训练好的网络

2、加载数据并分类

DIR='C:\Users\清风\Desktop\测试数据集\normal\';%测试图片文件夹路径,最后必须加\,所有的测试图片大小必须与训练的相同
source=dir(strcat(DIR,'*.jpg'));
filenum=size(source,1);        %图片个数

for k = 1: filenum
    fname = strcat(DIR, num2str(k), '.jpg');
    img = imread(fname);%读取图片
    output(k,:)=classify(convnet,img)%图片识别,convnet为训练好的网络名称,不必更改
end

可以看到,关键函数就是classify()

第一个参数为已经训练好的网络名称,因为在上一篇保存训练结果时,我将网络名称,设为了“convnet”,所以这里的网络名称即为“convent”

save('C:\Users\清风\Desktop\网络训练数据集\cnn3.mat','convnet')

第二参数为我们需要分类的图片。

返回值就是分类结果,分两类就返回0或1。分三类就返回0、1、2,以此类推。

这里我用了个循环,将文件夹里所有的图片都分类一遍,将结果保存在数组中,并输出显示。

3、结果

1、测试normal

normal对应的分类为0,测试文件夹一共30个normal测试图片

 

2、测试abnormal

 对应的分类为1,测试文件夹一共30个abnormal测试图片,结果只有50%的正确率,不知道是不是我的驯练样本太少了,才150个。

 

 

 

 

 

 

  • 8
    点赞
  • 104
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值