基于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/

相关推荐
武子康3 小时前
H3-World 的动作能按时发生,为何还不能据此判断实时互动?
人工智能·深度学习·agent
Rocky Ding*5 小时前
【三年面试五年模拟】2026-11-05_月之暗面大模型算法岗一面、二面面经全解析
论文阅读·人工智能·深度学习·机器学习·aigc·强化学习·ai-native
在所不辞兄5 小时前
【人工智能驱动的电催化研究-05】条件、循环与数据检查
人工智能·深度学习·神经网络·机器学习·有限元·电化学·电催化
伞伞悦读21 小时前
【第81期】特征缩放怎么选:标准化、MinMax 与 Robust 的原理、泄漏对照和完整实验
人工智能·python·深度学习·机器学习
jay神1 天前
基于深度学习的交通流量预测系统(Web 版)
前端·人工智能·深度学习·yolo·计算机毕业设计
武子康1 天前
H3-World 的 11.3 小时训练数据,是怎样对齐成动作监督的?
大数据·人工智能·深度学习
花月mmc1 天前
【FPGA】神经网络内容简介预告
嵌入式硬件·深度学习·神经网络·fpga开发
在所不辞兄1 天前
为什么在标签噪声场景下,识别双重下降拐点有助于防止模型记忆异常数据?
人工智能·深度学习·神经网络·机器学习
一起学安全技术1 天前
拆大模型 03|注意力的一句话版本:不用论文讲清 Attention
深度学习·算法·语言模型·transformer
电科_银尘1 天前
【深度学习项目实战·23】图像异常检测:用自编码器重建误差识别类别外样本
人工智能·深度学习