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

相关推荐
阿_旭2 小时前
基于YOLO26深度学习的蓝莓成熟度检测与分割系统【python源码+Pyqt5界面+数据集+训练代码】图像分割、人工智能
人工智能·python·深度学习·毕业设计·蓝莓成熟度检测
lxmyzzs2 小时前
使用Python分析COCO数据集标注信息:一个简单脚本实现统计与可视化
python·深度学习·目标检测·计算机视觉
智算菩萨2 小时前
【How Far Are We From AGI】4 AGI的“生理系统“——从算法架构到算力基座的工程革命
论文阅读·人工智能·深度学习·算法·ai·架构·agi
Sirius Wu2 小时前
基于OpenClaw环境的Agent强化学习(RFT+GRPO)训练机制与自动化实践报告
人工智能·深度学习·机器学习·语言模型·aigc
材料科学研究2 小时前
如何下手!深度学习有限元仿真!
深度学习·仿真·有限元
前端摸鱼匠2 小时前
面试题2:Transformer的Encoder、Decoder结构分别包含哪些核心组件?
人工智能·深度学习·ai·面试·职场和发展·transformer
sin°θ_陈3 小时前
行业调研——XGRIDS (其域创新):空间数据生产、资产化与工业工作流的真正价值
经验分享·笔记·深度学习·3d·金融·3dgs·空间智能
油泼辣子多加3 小时前
【DL】Transformer算法应用
人工智能·深度学习·算法·机器学习·transformer
剑穗挂着新流苏3123 小时前
108_深度学习中的“瘦身术”:最大池化层(MaxPool2d)原理与实战
pytorch·深度学习·计算机视觉
qq_571099353 小时前
学习周报三十七
人工智能·深度学习·学习