matlab求数据特征,Matlab图像识别/检索系列(7)-10行代码完成深度学习网络之取中间层数据作为特征...

本文介绍了如何在Matlab中利用深度学习网络提取图像特征,通过activations函数或直接使用网络层名,例如在AlexNet中提取fc7层数据。详细展示了使用示例代码,包括训练CNN网络、提取特征、预测并计算准确率。
摘要由CSDN通过智能技术生成

现在,大家都意识到深度神经网络在图像特征提取方面具有很强的能力,尽管其解释性不强,尽管人们对它的内部原理不十分清楚。那么能不能取出网络中某层数据作为图像特征而进行自己定制的其它处理呢?答案当然是肯定的。在Matlab2017b中,从网络取数据主要有两种方法。一是使用Neural Network Toolbox的activations函数,一是导入网络后直接使用网络某层的名字。

1.使用activations函数

%exam1.m

load digitTrainSet;

%创建CNN网络

layers = [imageInputLayer([28 28 1],'Normalization','none');

convolution2dLayer(5,20);

reluLayer();

maxPooling2dLayer(2,'Stride',2);

convolution2dLayer(5,16);

reluLayer();

maxPooling2dLayer(2,'Stride',2);

fullyConnectedLayer(256);

reluLayer();

fullyConnectedLayer(10);

softmaxLayer();

classificationLayer()];

opts = trainingOptions('sgdm');

%训练CNN网络

net = trainNetwork(XTrain,TTrain,layers,opts);

%提取输入X的第6层输出数据

trainFeatures = acti

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值