机器学习(基于MATLAB的Alexnet迁移学习进行猫狗分类)

weixin_58384328 weixin_58384328 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

习题案例源自作者:https://blog.csdn.net/garker?type=blog

 

软件:matlab2022a

数据集:kaggle猫狗数据集

网络:Alexnet

数据集准备:【数据集度云链接】
链接:https://pan.baidu.com/s/17c4K04kDKDUsuXdLkPecKA
提取码:8rhn

(D:/machine learning/Kaggle/test1&train)

说明:获取数据集后对其进行分类(训练集、测试集),对图片大小调整后,将训练集按照7:3进行分割,而后读取网络alexnet并组建新网络,然后训练、测试alexnet网络

一、打开matlab点击新建,新建后打开文件夹D:/machine learning/Kaggle/test1&train,代码放入后点击运行,因为数据集较大,所以运行时间较长。

 二、完整代码

imds = imageDatastore('D:\machine learning\Kaggle\train', ...
    'IncludeSubfolders',true, ...
    'LabelSource','foldernames');

numTrainImages = numel(imds.Labels);

for i = 1:numTrainImages
    s = string(imds.Files(i));
    I = imread(s);
    I = imresize(I,[227,227]);
    imwrite(I,s);
    s
end

[imdsTrain,imdsValidation] = splitEachLabel(imds,0.7,'randomized');

net = alexnet;

inputSize = net.Layers(1).InputSize

layersTransfer = net.Layers(1:end-3);

numClasses = numel(categories(imdsTrain.Labels));

layers = [
    layersTransfer
    fullyConnectedLayer(numClasses,'WeightLearnRateFactor',20,'BiasLearnRateFactor',20)
    softmaxLayer
    classificationLayer];

augimdsTrain = augmentedImageDatastore(inputSize(1:2),imdsValidation);
augimdsValidation = augmentedImageDatastore(inputSize(1:2),imdsValidation);
options = trainingOptions('sgdm', ...
    'MiniBatchSize',10, ...
    'MaxEpochs',10, ...
    'InitialLearnRate',1e-4, ...
    'Shuffle','every-epoch', ...
    'ValidationData',augimdsValidation, ...
    'ValidationFrequency',3, ...
    'Verbose',false, ...
    'Plots','training-progress');

netTransfer = trainNetwork(augimdsTrain,layers,options);

三、训练结果

 训练结果准确率92%左右

 四、遇到的问题

代码报错:函数或变量无法识别(augimdsTrain函数解决示例);Alexnet网络的安装,

 

 

 

 

...全文

相关推荐

基于深度迁移学习的小样本图像分类matlab程序

基于深度迁移学习的小样本图像分类matlab程序,网络模型基于AlexNet,文件包含了图像数据集,输出结果可靠。

HaoZz_96

MATLAB猫狗识别实战:图像分类工程闭环指南

图像分类是计算机视觉的基础任务,其核心原理在于利用深度神经网络提取图像特征并映射至语义类别。在MATLAB中实现该任务,需依托Deep Learning Toolbox构建可复用的数据管道与迁移学习工作流,技术价值体现在可追溯性、硬件适配性及与Simulink等工具链的无缝集成。典型应用场景包括高校课程设计、嵌入式视觉模块开发及工业级模型部署。本文聚焦imageDatastore数据组织与trainNetwork训练闭环两大关键热词,系统梳理从数据加载、预处理、网络微调到模型导出的完整工程实践路径。

Nicholas Qin

MATLAB猫狗识别完整实战:数据规范、迁移学习与避坑指南

图像分类是计算机视觉的基础任务,其核心在于数据组织、特征提取与模型评估的闭环流程。MATLAB通过ImageDatastore统一管理标注数据,结合预训练网络(如AlexNet、ResNet-18)实现高效迁移学习,显著降低小样本场景下的训练门槛与过拟合风险。技术价值体现在工程可控性高、与嵌入式视觉系统兼容性强、支持ONNX跨平台部署。典型应用场景包括高校课程设计、工业二分类快速验证及MATLAB-to-production落地。本文聚焦ImageDatastore规范构建与迁移学习层替换两大高频实践难点,

蝨孨槑黽

基于深度迁移学习的小样本图像分类matlab程序_alexnet图像分类matlab,matlab alexnet 图像缺陷检测

基于深度迁移学习的小样本图像分类matlab程序,网络模型基于AlexNet,文件包含了图像数据集,输出结果可靠。

qq_41934573

基于深度迁移学习的小样本图像分类matlab程序_alexnet图像分类matlab,matlab alexnet 图像缺陷检测(txt为微云链接)

基于深度迁移学习的小样本图像分类matlab程序,网络模型基于AlexNet,文件包含了图像数据集,输出结果可靠。

qq_41934573
评论 2
收藏 已收藏
分享
返回顶部