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

相关推荐
pjj198544 小时前
深度学习-数据清单——把图片整理成训练可读的 txt
人工智能·深度学习·cnn
憨波个4 小时前
【ASR】Whisper:Robust Speech Recognition via Large-Scale Weak Supervision
人工智能·深度学习·语言模型·whisper·语音识别
手写码匠4 小时前
DeepSeek 函数调用实战:从零搭建一个会“动手“的 AI 助手
人工智能·深度学习·算法·aigc
creator_Li5 小时前
深度学习 学习笔记
pytorch·深度学习
深度学习lover7 小时前
<数据集>蚜虫识别<目标检测>
人工智能·深度学习·yolo·目标检测·计算机视觉·蚜虫识别
牧羊人.3338 小时前
动手学深度学习 03 | 卷积神经网络实现手写数字识别
人工智能·深度学习·神经网络·算法·cnn
计算机编程-吉哥9 小时前
基于YOLO11s的苹果叶片病害检测系统 | 5类病害、2万+数据集、全栈闭环【计算机毕业设计选题推荐】
深度学习·毕业设计·课程设计·计算机毕业设计选题·机器学习毕业设计·大数据毕业设计选题推荐
阳明山水9 小时前
从相关到因果:预测科学的因果转向与可识别性挑战
人工智能·深度学习·算法·机器学习·架构
运筹说9 小时前
运筹说 第160期 | 大模型如何“思考”? Transformer架构图解
人工智能·深度学习·transformer
pjj198549 小时前
深度学习-训练,评估与数据增强
人工智能·深度学习·机器学习