339. Recursion Cellular Image Classification | recursion-cellular-image-classification
感谢 Recursion 和 Kaggle 组织了这场独特而充满挑战的比赛!当我决定参加这场比赛时,数据和组织的质量给我留下了深刻印象,仅这个美丽的网站就给了我很大的动力。GCP 和 TPU 的额度对我来说也是不可或缺的,希望未来能看到更多这样的资源。发现的泄漏被 Kaggle 处理得很顺畅,特别感谢 Sohier Dane。同时感谢 Giulia Savorgnan 报告了第二次泄漏。
我很幸运能和 Yuval 组队参加这次比赛。他的模型得分在很长一段时间内都保持在前列,而我在比赛后期才做出了有意义的贡献。我至今仍无法理解他是如何在这场比赛中投入如此多的精力,既要全职工作,又要准备并在8月底参加 UTMB 171公里超级马拉松。他因伤在50公里后退赛,但在我眼里,这已经是超人类的坚韧程度了。
我所有的模型都是用 pytorch 和 TPU 训练的,并且正好用光了我所有的600美元免费 GCP 额度。我在这篇文章中描述了我的设置。尽管整体训练速度不错,但在 pytorch 中使用 TPU 的体验还是很艰难的。主要问题是训练几个小时后会意外挂起。有时这很烦人,我甚至开始怀疑自己的人生选择。Pytorch/XLA 的工作人员在论坛上试图提供帮助,但目前我认为 Pytorch/XLA 还没有完全准备好用于生产环境(但我仍然很乐意在下一次比赛中获得免费的 TPU!)。
从一开始我就使用 resnet50,没有机会成功尝试其他模型。事后看来,这对本次比赛来说是一个不错的选择。Yuval 使用了其他主干网络,我相信他会在另一篇文章中描述他的工作。
除了上述标准结构外,我的模型还有3个特殊功能。我没有做过有无这些功能的严格对比,但我感觉第一个给了我很大的提升,第二个和第三个则带来了一些较小的改进(但确实缺少与常规伪标签的公平对比)。