Я новичок в области глубокого изучения. Я использую код, указанный в ссылке ниже, для извлечения функций из Alexnet.
`
unzip('MerchData.zip');
images = imageDatastore('MerchData',...
'IncludeSubfolders',true,...
'LabelSource','foldernames');
[trainingImages,testImages] = splitEachLabel(images,0.7,'randomized');
numTrainImages = numel(trainingImages.Labels);
idx = randperm(numTrainImages,16);
figure
for i = 1:16
subplot(4,4,i)
I = readimage(trainingImages,idx(i));
imshow(I)
end
%% Load Pretrained Network
net = alexnet;
net.Layers
%% Extract Image Features
layer = 'fc7';
trainingFeatures = activations(net,trainingImages,layer);
testFeatures = activations(net,testImages,layer);
%%
% Extract the class labels from the training and test data.
trainingLabels = trainingImages.Labels;
testLabels = testImages.Labels;
%% Fit Image Classifier
classifier = fitcecoc(trainingFeatures,trainingLabels);
%% Classify Test Images
predictedLabels = predict(classifier,testFeatures);
% Calculate the classification accuracy on the test set. Accuracy is the
% fraction of labels that the network predicts correctly.
accuracy = mean(predictedLabels == testLabels)
Я использую слой FC8 вместо fc7 в приведенном выше коде и выводимполучил образцы * 1000 данных.Я использовал их как объекты для классификации и получил такие результаты, как точность и т. Д.
Еще один момент заключается в том, что слой 'fc8' в AlexNet является классификационным слоем, который нельзя использовать для извлечения признаков.
, которыйКонцепция верна. Можете ли вы указать, какой тип данных является выборкой * 1000, если они не являются функциями.