基于keras框架的LeNet/AlexNet/Vgg16深度学习神经网络花卉/花朵分类识别系统源码

第一步:准备数据

五种花卉数据:"雏菊"、"蒲公英"、"玫瑰"、"向日葵"、"郁金香",总共有2671张图片

将数据以A_B.jpg的格式进行标定,A为花朵名字,B为相应花类别的第几张

第二步:搭建模型

本文选择LeNet/AlexNet/Vgg16常用分类网络作为对比:

由于是五分类问题,直接套用网络肯定是不行,因此会在全连接部分做手脚,参考代码如下:

python 复制代码
    x = base_model.output
    x = GlobalAveragePooling2D()(x)
    x = Dense(256)(x)
    x = BatchNormalization()(x)
    x = Activation('relu')(x)
    x = Dense(64)(x)
    x = BatchNormalization()(x)
    x = Activation('relu')(x)
    x = Dense(5)(x)
    predictions = Activation('softmax')(x)

第三步:训练代码

1)损失函数为:交叉熵损失函数

2)LeNet和AlexNet从头训练都比较好收敛,但vgg16网络从头训练很难收敛,因此我们阔以对vgg16网络进行迁移训练微调:

python 复制代码
    w = 1
    if w:
        base_model = VGG16(weights='imagenet', include_top=False, input_shape=(width, height, 3))
    else:
        base_model = VGG16(weights=None, include_top=False, input_shape=(width, height, 3))
    for layer in base_model.layers:
        layer.trainable = False

第四步:统计正确率

|---------|-------|-------|
| 名称 | 训练正确率 | 验证正确率 |
| LeNet | 75.5% | 82% |
| AlexNet | 86% | 86.3% |
| vgg16 | 99.3% | 89.1% |

毫无疑问,vgg16胜利

第五步:搭建GUI界面

第六步:整个工程的内容

有训练代码和训练好的模型以及训练过程,提供数据,提供GUI界面代码,主要使用方法可以参考里面的"文档说明_必看.docx"

项目完整文件下载请见演示与介绍视频的简介处给出:➷➷➷

https://www.bilibili.com/video/BV1pMUYY4EuQ/

相关推荐
梦帮科技1 小时前
LoRA / QLoRA 低秩矩阵流形更新:SVD 分解、秩与缩放因子 α 的物理意义与梯度稳定性保障
网络·深度学习·神经网络·线性代数·矩阵·架构·数据挖掘
老A的AI实验室1 小时前
赛博月刊 #2026年9月
大数据·人工智能·深度学习·ai·llm
AOI小白新手上路2 小时前
深度学习模块缝合方法论 · 人物蒸馏笔记
人工智能·笔记·深度学习
梦帮科技2 小时前
多任务权重流形融合:SLERP 球形线性插值、DARE 稀疏剪枝与多专家模型融合落地
人工智能·深度学习·算法·机器学习·tensorflow·聚类·剪枝
Yolanda_20223 小时前
17.卷积操作
人工智能·深度学习
`流年づ3 小时前
卷积核与反卷积知识补充
人工智能·深度学习·计算机视觉
YOLO_DATA3 小时前
YOLO27防震锤缺陷检测数据集 防震锤数据集 1000张 防震锤 带标注 voc yolo 2 类 目标检测
人工智能·深度学习·yolo·目标检测·计算机视觉·数据集·无人机
Light Gao3 小时前
RNN 原理、架构与一次完整手算
人工智能·rnn·深度学习·神经网络·embedding
weixin_438338513 小时前
CUDA 安装理解
人工智能·深度学习
LaughingZhu4 小时前
Product Hunt 每日热榜 | 2026-10-01
数据库·人工智能·深度学习·神经网络·搜索引擎