基于paddle框架的MobileNetV2深度学习神经网络番茄/西红柿叶子病虫害识别系统源码

文章介绍了使用MobileNetV2模型对番茄叶子病虫害进行识别的过程,包括数据准备、模型修改、训练代码实现(采用交叉熵损失函数和Adam优化器)、以及最终92.9%的高正确率。还涉及了GUI界面的搭建和整个项目的代码及资源提供。
摘要由CSDN通过智能技术生成

 第一步:准备数据

10种番茄/西红柿叶子病虫害:

self.label_dict = {'0': 'Tomato___Bacterial_spot', '1': 'Tomato___Early_blight', '2': 'Tomato___healthy',
                 '3': 'Tomato___Late_blight', '4': 'Tomato___Leaf_Mold', '5': 'Tomato___Septoria_leaf_spot',
                 '6': 'Tomato___Spider_mites Two-spotted_spider_mite', '7': 'Tomato___Target_Spot',
                 '8': 'Tomato___Tomato_mosaic_virus', '9': 'Tomato___Tomato_Yellow_Leaf_Curl_Virus'}

,总共有18345张图片,每个文件夹单独放一种

第二步:搭建模型

本文选择MobileNetV2,其网络结构如下:

 由于是十分类问题,直接套用网络肯定是不行,因此会在改动神经网络输出类别数,参考代码如下:

    model = MobileNetV2(num_classes=update_train_parameters['class_dim'])

第三步:训练代码

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

2)MobileNetV2从头训练:

    model = MobileNetV2(num_classes=update_train_parameters['class_dim'])
    model.train()
    cross_entropy = paddle.nn.CrossEntropyLoss()
    optimizer = paddle.optimizer.Adam(learning_rate = update_train_parameters['learning_strategy']['lr'],
                                      parameters = model.parameters())

第四步:统计正确率

 正确率高达92.9%

第五步:搭建GUI界面

第六步:整个工程的内容

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

 

代码的下载路径(新窗口打开链接)基于paddle框架的MobileNetV2神经网络番茄/西红柿叶子病虫害识别系统源码

有问题可以私信或者留言,有问必答

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值