1.网络使用的是Transformer 网络中的 ViT 模型
2.数据集是34分类的植物叶片数据集(苹果、葡萄、猕猴桃)
3.网络训练的过程中,会对数据集的训练集图像求取灰度值的均值和方差,预处理处理包括随机裁剪、中心裁剪等等。网络初始化会自动载入ViT 官方的预训练权重(因为transformer 网络收敛很慢,不经过预训练效果会很差,因此本篇代码自动载入)
4.train.py 会自动生成数据集类别的 json 文件,所以不需要自己定义。train.py 训练完成会生成训练集的loss、测试集的loss,训练集的accuracy、测试集的accuracy,并生成对应的曲线保存至run_results文件内。训练完成会计算训练集和测试集的混淆矩阵,计算召回率、特异度啥的
5.预测代码是predict.py,只需要将待预测的图像放在inference文件夹下,代码会自动将该文件下所有的图像进行预测,并在原图像左上角写入最大的前三个类别和概率
【如果想要训练自己的数据集,参考README文件】
【本项目训练了53个epoch,准确率为0.94,加大轮次可以增加精度】
, 相关下载链接:
https://download.csdn.net/download/qq_44886601/89103778?utm_source=bbsseo