matlab 2017 vgg使用

最近发现matlab2017 添加了很多训练好的网络,包括vgg16,vgg19等。属于极其方便的那种。比如安装了matlab2017a,输入help vgg16,就会有个 add on的按钮,跟着步骤傻瓜式点击,几下就安装好工具箱了。对于只是想用一下的人来说太方便了。

不过我在使用时,发现如果我想看网络中某一层的输出,帮助文档里并没有给例子说明。我从matlab官方网站上找到一个例子,感谢这位外国人啊。

来源:https://cn.mathworks.com/matlabcentral/answers/357669-how-to-get-the-maximum-activation-of-fc7-layer-of-vgg19?s_tid=srchtitle

net = vgg19;
im = imread('apple.jpg');
imshow(im)
imgSize = size(im);
imgSize = imgSize(1:2);
act5 = activations(net,im,'fc7','OutputAs','channels');
sz = size(act5);
act5 = reshape(act5,[sz(1) sz(2) 1 sz(3)]);
montage(imresize(mat2gray(act5),[48 48]))
[maxValue5,maxValueIndex5] = max(max(max(act5)));
act5chMax = act5(:,:,:,maxValueIndex5);
imshow(imresize(mat2gray(act5chMax),imgSize))
其实核心就是activations()函数。

Matlab是一种广泛应用于科学与工程领域的编程语言和环境。在Matlab中,可以使用VGGNet模型来进行图像识别任务。 VGGNet是一种非常经典的深度卷积神经网络模型,它在2014年由牛津大学的研究团队提出。VGGNet模型具有比较深的网络结构,包含16个或19个卷积层,采用了小尺寸的卷积核和较小的步幅,从而能够更好地捕捉图像中的细节信息。 在Matlab中,可以使用深度学习工具箱中的函数来导入和使用VGGNet模型。首先,需要通过调用"vgg16"或"vgg19"函数来获取VGGNet模型的结构和参数。可以选择在预训练模型中使用ImageNet数据库作为预训练权重,或者进行自定义的训练。 接下来,可以使用"classify"函数来对图像进行分类,该函数会对输入的图像进行预处理,并输出图像的预测结果。也可以使用"activations"函数来获取中间特征图,以便进一步对图像进行可视化或其他处理。 除了使用预训练模型进行图像识别外,还可以使用迁移学习的方法在VGGNet模型的基础上进行训练。可以通过冻结部分网络层,并调整其他层的权重来适应不同的图像识别任务。 总结而言,Matlab提供了方便易用的工具来使用VGGNet模型进行图像识别。无论是使用预训练模型还是进行迁移学习,都能够利用VGGNet模型的强大特征提取能力和分类准确性,从而实现高效的图像识别任务。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值