第一步:准备数据
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,其网络结构如下:

由于是十分类问题,直接套用网络肯定是不行,因此会在改动神经网络输出类别数,参考代码如下:
python
model = MobileNetV2(num_classes=update_train_parameters['class_dim'])
第三步:训练代码
1)损失函数为:交叉熵损失函数
2)MobileNetV2从头训练:
python
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"


项目完整文件下载请见演示与介绍视频的简介处给出:➷➷➷
https://www.bilibili.com/video/BV1Y1UaYGE2E/
