使用预训练卷积神经模型进行分类(MATLAB例)

发布于:2025-06-15 ⋅ 阅读:(15) ⋅ 点赞:(0)

分类数据这里介绍。
在这里插入图片描述

digitDatasetPath = fullfile('D:','MATLAB WORK', 'PR','ImageNet');

imds = imageDatastore(digitDatasetPath, ...
    IncludeSubfolders=true,LabelSource="foldernames");

imds.Labels = renamecats(imds.Labels, {'n01514668', 'n02129604','n02325366'}, {'chicken', 'tiger','rabbit'});
numObsPerClass = countEachLabel(imds)
totalImages = sum(numObsPerClass.Count);
% classNames = categories(imds.Labels)
% numClasses = numel(classNames);
%% 
[net,classNames] = imagePretrainedNetwork("squeezenet");
% [net,classNames] = imagePretrainedNetwork("resnet101");
% analyzeNetwork(net)

%% 
obj = randi(totalImages);
img = readimage(imds,obj);

X = single(img);
if canUseGPU
    X = gpuArray(X);
end
scores = predict(net,X);
[label,score] = scores2label(scores,classNames);

[~,idx] = sort(scores,"descend");
idx = idx(5:-1:1);
classNamesTop = classNames(idx);
scoresTop = scores(idx);
%% 
figure('Position',[868  204  800  320]);
tiledlayout(1,2,"TileSpacing","tight")
nexttile
imshow(img)
title(string(label) + "(" + string(score)+ ")" )

nexttile
barh(scoresTop)
xlim([0 1])
title("Top 5 Predictions")
xlabel("Probability")
yticklabels(classNamesTop)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到