MATLAB与深度学习(二)— 训练神经网络(图像分类识别)

本文介绍了使用MATLAB进行深度学习的实践,聚焦于CIFAR-10数据集的图像分类。首先,详细讲解了如何下载并准备数据集,接着利用Alexnet进行迁移学习,通过卷积、ReLU、池化和全连接等层进行特征提取和分类。然后,介绍了训练自定义神经网络模型的步骤,通过调用helperCIFAR10Data函数,获得了0.7570的整体精度。
摘要由CSDN通过智能技术生成

MATLAB与深度学习(二)— 训练神经网络(图像分类识别)


上一篇,我们介绍了与深度学习相关的MATLAB工具包。这一篇,我们将介绍如何训练神经网络和相关的基础知识。本文借鉴和引用了网上许多前辈的经验和代码,如有冒犯,请及时与我联系。

1. 下载数据集
以CIFAR-10数据集为例
1.1 方式一,在matlab上下载

%% Download the CIFAR-10 dataset
if ~exist('cifar-10-batches-mat','dir')
    cifar10Dataset = 'cifar-10-matlab';
    disp('Downloading 174MB CIFAR-10 dataset...');   
    websave([cifar10Dataset,'.tar.gz'],...
        ['https://www.cs.toronto.edu/~kriz/',cifar10Dataset,'.tar.gz']);
    gunzip([cifar10Dataset,'.tar.gz'])
    delete([cifar10Dataset,'.tar.gz'])
    untar([cifar10Dataset,'.tar'])
    delete([cifar10Dataset,'.tar'])
end    

1.2 方式二,直接下载
我运行方式一的代码会报错,所以直接通过下面网址下载后。然后把数据集放在MATLAB的工作路径上。
https://www.cs.toronto.edu/~kriz/cifar-10-matlab.tar.gz;链接.
Matlab下载数据集报错
2. 利用CIFAR10数据集 — 迁移学习训练现有网络
以Alexnet为例:图像分类识别

convnet = alexnet;
convnet.Layers % Take a look at the layers


常用网络层
卷积层将输入图像放进一组卷积滤波器,每个滤波器激活图像中的某些特征。

ReLU 层通过将负值映射到零和保持正数值,实现更快、更高效的训练。

池化层通过执行非线性下采样,减少网络需要学习的参数个数,从而简化输出。

全连接层将网络 2D 空间特征“扁平化”为 1D 矢量,为分类目的而表示图像级特征。

Softmax 层为数据集中的每个类别提供概率。

下载完成后,转换数据格式,不然后面会报错:

 saveCIFAR10AsFolderOfImages('cifar-10-batches-mat', pwd, true);

数据设置,CIFAR-10数据集可以选择的对象是10种

rootFolder = 'cifar10Train';
categories = {'Deer','Dog','Frog','Cat'};
imds = imageDatastore(fullfile(rootFolder, categories), 'LabelSource', 'foldernames');
imds.ReadFcn = @readFunctionTrain;

% Change the number 50 to as many training images as you would like to use
% how does increasing the number of images change the 
% accuracy of the classifier?
[trainingSet, ~] = splitEachLabel(imds, 50, 'randomize'); 

通过激活来提取数据集的特征

featureLayer = 'fc7';
trainingFeatures = activations(convnet, trainingSet, featureLayer);

训练SVM分类器

temp(:,:)=trainingFeatures ;
temp=temp';
classifier = fitc
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值