大家好,又见面了,我是你们的朋友全栈君。
深度网络既然在图像识别方面有很高的准确率,那将某一层网络输出数据作为图像特征也应该是可行的。该程序给出了使用Alexnet第七层作为激活层提取图像特征的示例。代码如下:
clear;
trainPath = fullfile(pwd,'image');
trainData = imageDatastore(trainPath,...
'IncludeSubfolders',true,'LabelSource','foldernames');
[trainingImages,testImages] = splitEachLabel(trainData,0.7,'randomized');
numTrainImages = numel(trainingImages.Labels);
%加载预训练模型
net = alexnet;
%指定用来提取特征的层
layer = 'fc7';
%提取指定层训练数据特征
trainingFeatures = activations(net,trainingImages,layer);
%提取指定层测试数据特征
testFeatures = activations(net,testImages,layer);
%获取训练数据标签
trainingLabels = trainingImages.Labels;
%获取测试数据标签
testLabels = testImages.Labels;
save('alexnetFeature.mat','trainingFeatures','trainingLabels','trainingFeatures','testLabels');
转载于:https://blog.51cto.com/8764888/2086352
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/151904.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...