matlab vgg16代码
时间: 2023-10-06 11:07:44 浏览: 170
vgg16网络代码,可直接使用
以下是一个使用Matlab实现VGG16模型的示例代码:
```matlab
% 加载预训练的VGG16模型
net = vgg16();
% 读取待分类的图像
img = imread('image.jpg');
img = imresize(img, [224 224]); % 调整图像尺寸为224x224
% 对图像进行预处理
inputSize = net.Layers(1).InputSize;
img = imresize(img, inputSize(1:2));
img = im2single(img);
img = imsubtract(img, net.Layers(1).Mean);
% 使用VGG16进行图像分类
scores = predict(net, img);
% 获取前5个最可能的类别和对应的分数
[~, idx] = sort(scores, 'descend');
top5Classes = net.Layers(end).ClassNames(idx(1:5));
top5Scores = scores(idx(1:5));
% 打印结果
for i = 1:5
fprintf('%s (%.2f%%)\n', top5Classes{i}, top5Scores(i) * 100);
end
```
请注意,此代码需要在安装了Deep Learning Toolbox的Matlab版本中运行。你还需要下载VGG16模型,可以通过以下命令进行下载:
```matlab
net = vgg16();
```
这将会自动下载并加载预训练的VGG16模型。
阅读全文