MATLAB卷积神经网络——基于ResNet-50进行图像分类

这篇具有很好参考价值的文章主要介绍了MATLAB卷积神经网络——基于ResNet-50进行图像分类。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、ResNet50工具箱安装

(1)下载工具箱

https://ww2.mathworks.cn/matlabcentral/fileexchange/64626-deep-learning-toolbox-model-for-resnet-50-network

MATLAB卷积神经网络——基于ResNet-50进行图像分类,图像处理,信号处理,matlab,开发语言

(2)在matlab打开下载的resnet50.mlpkginstall文件

(3)使用下面代码进行测试,出现结果说明安装成功


clear
clc
% Access the trained model
net = resnet50();
% See details of the architecture
net.Layers
% Read the image to classify
I = imread('peppers.png');
% Adjust size of the image
sz = net.Layers(1).InputSize;
I = I(1:sz(1),1:sz(2),1:sz(3));
% Classify the image using Resnet-50
label = classify(net, I);
% Show the image and the classification results
figure
imshow(I)
text(10,20,char(label),'Color','white')

MATLAB卷积神经网络——基于ResNet-50进行图像分类,图像处理,信号处理,matlab,开发语言

二、训练猫狗数据集

(1)数据集下载链接:

  https://pan.quark.cn/s/e043408353a5

(2)将数据集按照如下目录进行放置

MATLAB卷积神经网络——基于ResNet-50进行图像分类,图像处理,信号处理,matlab,开发语言

(3)生成预训练模型

在命令行窗口输入 deepNetworkDesigner(resnet50)

MATLAB卷积神经网络——基于ResNet-50进行图像分类,图像处理,信号处理,matlab,开发语言

然后点击导出→使用初始参数生成代码

MATLAB卷积神经网络——基于ResNet-50进行图像分类,图像处理,信号处理,matlab,开发语言

保存生成的网络初始化参数,生成的mlx文件可以叉掉:

MATLAB卷积神经网络——基于ResNet-50进行图像分类,图像处理,信号处理,matlab,开发语言

修改文件路径,类别数目以及相关参数:

clear
clc
filename = "datasets"; 
%% 加载用于网络初始化的参数。对于迁移学习,网络初始化参数是初始预训练网络的参数。
trainingSetup = load("resnet-50.mat");
%% 设置图像文件夹路径和标签
nc = 2;  %类别
imdsTrain = imageDatastore(filename,"IncludeSubfolders",true,"LabelSource","foldernames");
[imdsTrain, imdsValidation] = splitEachLabel(imdsTrain,0.8);  % 80的训练集
%% 调整图像大小以匹配网络输入层。
augimdsTrain = augmentedImageDatastore([224 224 3],imdsTrain);
augimdsValidation = augmentedImageDatastore([224 224 3],imdsValidation);
%%  设置训练选项
opts = trainingOptions("sgdm",...
    "ExecutionEnvironment","gpu",...
    "InitialLearnRate",0.01,...
    "MaxEpochs",20,...
    "MiniBatchSize",64,...
    "Shuffle","every-epoch",...
    "Plots","training-progress",...
    "ValidationData",augimdsValidation);

 三、训练及测试结果

(1)训练结果

MATLAB卷积神经网络——基于ResNet-50进行图像分类,图像处理,信号处理,matlab,开发语言

MATLAB卷积神经网络——基于ResNet-50进行图像分类,图像处理,信号处理,matlab,开发语言

(2)导入一张图片进行测试

clear
clc
load result\net.mat
load result\traininfo.mat
%% 随便选一张进行测试
[file,path] = uigetfile('*.jpg');
if isequal(file,0)
   disp('User selected Cancel');
else
   filename = fullfile(path,file);
end
I = imread(filename);
I = imresize(I, [224 224]);
[YPred,probs] = classify(net,I);
imshow(I)
label = YPred;
title(string(label) + ", " + num2str(100*max(probs),3) + "%");

 MATLAB卷积神经网络——基于ResNet-50进行图像分类,图像处理,信号处理,matlab,开发语言

四、完整代码获取(链接文末)

MATLAB卷积神经网络——基于ResNet-50进行图像分类

如需绘制混淆矩阵图输出单类别的准确度等等...,可私聊小编,为你量身进行定制。关注公众号,每日更新更多精彩内容!!!

最后:

如果你想要进一步了解更多的相关知识,可以关注下面公众号联系~会不定期发布相关设计内容包括但不限于如下内容:信号处理、通信仿真、算法设计、matlab appdesigner,gui设计、simulink仿真......希望能帮到你!

MATLAB卷积神经网络——基于ResNet-50进行图像分类,图像处理,信号处理,matlab,开发语言文章来源地址https://www.toymoban.com/news/detail-834426.html

到了这里,关于MATLAB卷积神经网络——基于ResNet-50进行图像分类的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 62、python - 全手写搭建 resnet50 神经网络

    如果将上篇文章中涉及到的算法都自己手写完一遍后,我们开始尝试利用自己手写的算法,搭建一个完整的 resnet50 神经网络。 网络结构就参考这个链接中的网络结构,是在之前下载模型的章节中,下载的模型。 为了搭建一个完整的神经网络,定义一个 Resnet 的类,这个类就

    2024年01月24日
    浏览(33)
  • Python基于深度学习机器学习卷积神经网络实现垃圾分类垃圾识别系统(GoogLeNet,Resnet,DenseNet,MobileNet,EfficientNet,Shufflent)

    文章目录 1 前言+ 2 卷积神经网络(CNN)详解+ 2.1 CNN架构概述+ 2.1.1 卷积层+ 2.1.2 池化层+ 2.1.3 全连接层 2.2 CNN训练过程+ 2.3 CNN在垃圾图片分类中的应用 3 代码详解+ 3.1 导入必要的库+ 3.2 加载数据集+ 3.3 可视化随机样本+ 3.4 数据预处理与生成器+ 3.5 构建、编译和训练CNN模型+ 3.5.

    2024年02月04日
    浏览(34)
  • MATLAB基于卷积神经网络的手势识别

    目录 1. 数据集介绍  2. 训练、保存网络 3. 手势识别 4. 识别结果 5. 总结 本实验所用数据集为从Kaggle平台下载的手语数据集(sign_mnist)中选取的部分数据。 sign_mnist 数据集格式的模式化与经典 MNIST 紧密匹配。每个训练和测试用例表示一个标签 (0-25),作为每个字母 A-Z 的一

    2024年02月06日
    浏览(87)
  • FPGA上利用Vitis AI部署resnet50 TensorFlow神经网络模型

    参考Xilinx官方教程快速入门 • Vitis AI 用户指南 (UG1414) 克隆 Vitis AI 存储库以获取示例、参考代码和脚本(连接github失败可能需要科学上网)。 安装Docker如何在 Ubuntu 20.04 上安装和使用 Docker 安装完docker后,下载最新Vitis AI Docker, 将官方的指令 docker pull xilinx/vitis-ai-pytorch/tensorfl

    2024年02月04日
    浏览(34)
  • 深度学习实战——卷积神经网络/CNN实践(LeNet、Resnet)

          忆如完整项目/代码详见github: https://github.com/yiru1225 (转载标明出处 勿白嫖 star for projects thanks) 本系列博客重点在深度学习相关实践(有问题欢迎在评论区讨论指出,或直接私信联系我)。 第一章  深度学习实战——不同方式的模型部署(CNN、Yolo)_如何部署cnn_

    2023年04月11日
    浏览(33)
  • 基于MATLAB的CNN卷积神经网络的训练和测试

    目录 一、理论基础 二、核心程序 三、测试结果         卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习(deep learning)的代表算法之一。卷积神经网络具有表征学习(representation learning)

    2024年02月01日
    浏览(29)
  • 基于CNN卷积神经网络的语音信号识别算法matlab仿真

    目录 1.算法仿真效果 2.MATLAB核心程序 3.算法涉及理论知识概要 4.完整MATLAB matlab2022a仿真结果如下:        人工智能的应用中,语音识别在今年来取得显著进步,不管是英文、中文或者其他语种,机器的语音识别准确率在不断上升。其中,语音听写技术的发展最为迅速,目前

    2024年02月04日
    浏览(32)
  • 【使用 k 折叠交叉验证的卷积神经网络(CNN)】基于卷积神经网络的无特征EMG模式识别研究(Matlab代码实现)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码实现 文献来源

    2024年02月11日
    浏览(33)
  • 【MATLAB第46期】基于MATLAB的改进模糊卷积神经网络IFCNN分类预测模型

    在正常CNN卷积神经网络训练阶段之后,使用进化算法(蜜蜂算法)拟合深度学习权重和偏差。 本文案例数据中, 用深度模型进行4分类预测。 先在 CNN 训练之后,为每个类别权重创建初始模糊模型 然后提取全连接层的权重进行进化寻优,并替换初始权重 最后,优化后的权重

    2024年02月11日
    浏览(34)
  • 【Matlab】基于卷积神经网络的数据回归预测(Excel可直接替换数据))

    基于卷积神经网络(Convolutional Neural Network,CNN)的数据回归预测是一种常见的机器学习方法,适用于处理具有空间结构的数据,如图像、时间序列等。在这种预测中,我们使用卷积层来自动学习输入数据中的特征,并通过回归层预测输出值。下面详细介绍其原理: 卷积神经

    2024年02月15日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包