返回列表

2nd Place - Summary of Approach

420. Cassava Leaf Disease Classification | cassava-leaf-disease-classification

开始: 2020-11-19 结束: 2021-02-18 作物智能识别 数据算法赛
第二名 - 方法总结

第二名 - 方法总结

作者:Devon Stanfield | 排名:第2名

我参赛比较晚,尝试了一些想法,但没能构建出一个好的模型,不过我学到了很多东西。随着比赛接近尾声,我想着为了有一个提交结果,不如提交一个简单的微调模型。

我查找了木薯(cassava)的预训练模型,发现了 https://tfhub.dev/google/cropnet/classifier/cassava_disease_V1/2
为了在 TPU 上设置模型,我参考了 tensorflow 的 tpu 设置指南。

训练

我的图像预处理很简单,只是快速的调整大小和重新缩放。数据管道中的大部分函数用于处理 TFRecords。我还将训练标签从 5 个扩展到了 6 个,以匹配木薯模型的输出,其中包括一个“背景”标签。

在训练期间,我使用了“EarlyStopping”和“ReduceLROnPlateau”。
回调函数会在大约 30 个 epoch 后切断训练。
我将模型权重保存到了一个数据集中,因为我们不允许在 TPU 上进行推理。我还将 tfhub 层的缓存版本保存到了一个数据集中,因为在推理期间我们无法使用互联网。

推理

在推理之前,我加载了之前缓存的模型版本和保存的权重。预处理管道与训练相同,主要处理 TFRecords。数据通过模型后,我保存了结果。

总的来说,我很惊讶我获得了第二名。我的方法基本上是按部就班的基础操作。这一点从我的模型在公共排行榜上以 0.9025 的分数排名第 660 位就可以看出来,正好位于一群其他人中间。我推测他们做了和我一样的事情。真是意想不到 :)

同比赛其他方案