Kaggle小麦检测竞赛-日志(日更)

0718

resnest101 71.2

0715

完了,复现的baseline均失败

0714

cascade r50 12epoch 63.58 闹心
frcnn r50 12epoch 63.96

这人 fr50加flip 6epoch 66.2

0708

之前的感觉有问题 ,一则yolo收敛过快 ,二则可视化有不对劲,
华为的比赛到了决赛环节, 这个先放一放
看到mosaic - https://www.kaggle.com/m1nglei/mmdetection-v2-detectors-training-colab

0701

se101 map91.6
yolov3 20epoch max 93

可视化val 效果挺好
检测看看,感觉test图片效果不好,感觉是不是Inference有问题

0630

做一下预处理,跑跑yolov3 se101 yolov5
v3跑起来7epoch mAP 93,难道这个mAP和官方指标差距很多么,后者我过拟合了?
se101也跑起来了,问题不大 1epoch 88

0629

刚发现有这个竞赛,看时间还有29天,差不多够了
https://www.kaggle.com/c/global-wheat-detection/overview

怎么感觉好多人都要用Kaggle的kernel啊,直接提交submission不行么

This is a Code Competition - 这是个指要开源代码么
噢噢 看到了


怎么制作kernel呢
kernel的cuda是什么呢,应该把mmdet预编译好吧
一些灵感:
senet154安排上
伪标签安排上 - 可以参考Yolov5和frcnn的那个
甚至手动标注? - 应该是大部分test数据获取不到
我看测试数据只给了5个,官方说有1000个测试数据,这1000个怎么来呢,感觉可能是kernel里面封装好数据输入?
另外其他选手的val怎么划分的 - 下面的yolov5给了个划分
看到个 https://www.kaggle.com/orkatz2/yolov5-train 里面有个划分val,评论区说基于fold0 ~0.716 LB from 50 epochs, and worse after that.作者orkatz2 使用fold1达到73,有人说改了tta可以lb 75 https://www.kaggle.com/wasupandceacar/yolov5-single-model-with-more-tta-lb-0-745,有人提到batchszie 2最好,有人不知道改了啥75.3/74.8https://www.kaggle.com/orkatz2/yolov5-fake-or-real-single-model-l-b-0-753有人加了半监督76.4 https://www.kaggle.com/nvnnghia/yolov5-pseudo-labeling

目前7448 以上银牌 73.71以上 铜牌
第一是OrKatz 77.2
有人frcnn做了伪标签 - https://www.kaggle.com/nvnnghia/fasterrcnn-pseudo-labeling
有人做了数据增广和bbox边界校验 - https://www.kaggle.com/reighns/augmentations-data-cleaning-and-bounding-boxes
这个数据化有点新意,有亮度筛选和bbox大小筛选 https://www.kaggle.com/aleksandradeis/globalwheatdetection-eda
有人探讨了metric 看起来和voc差不多 https://www.kaggle.com/pestipeti/competition-metric-details-script
有人给了用pytorch的frcnn来跑这个 https://www.kaggle.com/pestipeti/pytorch-starter-fasterrcnn-train
上面这个人还给了Inference和模型 66.87,第一个给模型的 https://www.kaggle.com/pestipeti/pytorch-starter-fasterrcnn-inference
那不得顺手save提交看看,save得到了https://www.kaggle.com/carryhjr/pytorch-starter-fasterrcnn-inference
这个人给了efficientdet的model和kernel 0.7193, 说用了Weighted Boxes Fusion 这个一般不都是多模型融合用吗,他用干什么 https://www.kaggle.com/shonenkov/inference-efficientdet
这个人用detectors+mosaic,我对他的mosaic实现 69.91好奇 https://www.kaggle.com/linyangsdu/detectors-wheat-inference-public?

思路: 先复现yolov5 + pseudo-label 做到76.4(用1/5做val,可能是75左右),然后用se-resnext101的cascadercnn 单独提交一次,然后把se101+yolov5+pseudo-label融合,然后用senet154训练,一起融合,然后梭哈,然后歇5天思考一下别的

一些资源(单独于日志)

kaggle dockfile - https://github.com/Kaggle/docker-python/blob/master/Dockerfile
yolov5 重点参考 - https://www.kaggle.com/nvnnghia/yolov5-pseudo-labeling

一些有用的经验(单独于日志)

https://www.kaggle.com/c/global-wheat-detection/rules 这里说了每天5次,我点了submit就跳到这个竞赛了,可能和notebook的input有关,因为create notebook就需要指明具体的dataset
发现notebook下方有console
我看到

You can write up to 5GB to the current directory (/kaggle/working/) that gets preserved as output when you create a version using "Save & Run All
感觉可以用华为obs来上传模型
share notebook时可以把input共享,但output肯定是没有的

一些自问自答

这个提交流程是什么

-> 我是save里面选择了run and save这个实际上就是commit,生成了submission.csv后
image.png

,点击submit出现了说每天5次,然后提交

怎么上传代码和模型到kernel

官方要求是什么

-> https://www.kaggle.com/c/global-wheat-detection/overview/code-requirements 这里面说最后要生成submission.csv,no internet, GPU time < 6h

如何针对这个数据create notebook


新建时可以选择是否开启gpu,开启的话就要计费了,notebook开始运行后,右边可以看到输入是


/kaggle/working可不可以作为模型位置

好像可以,不过会多个output

kaggle有没有cli来上传数据

notebook的output是怎么识别的

是根据/kaggle/working里面多出的内容,我用cp生成了两个csv 可以提交


official说最后选两个来提交,好奇kernel都是运行完的,那些不可见的测试数据怎么被测试的,难道是替换了输入的文件夹?

后台在提交时会替换input里面的test文件夹,很高级

ab榜区别


感觉可以b榜模型可以堆的更多

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容