赛题描述

在这里插入图片描述

本质其实就是基本的语义分割问题。

基本目的

熟悉比赛流程;
以前就知道mask rcnn, 这次主要是为了更进一步了解语义分割;
后续会熟悉一下阿里的DSW,不会白嫖的参赛者不是好码农;
提升一下技能点,增加提分要点秘诀和代码实践能力;

基本元素

使用pytorch官方的语义分割模型fcn_resnet50,并且修改最后的classifier,添加自定义的loss函数.感觉改的还是挺精妙的。而且添加了tqdm,让训练过程有了一个逐步完成的过程,要比print数据更有意思。

  • 数据下载
FileName Size Link
test_a.zip 314.49MB http://tianchi-competition.oss-cn-hangzhou.aliyuncs.com/531872/%E5%9C%B0%E8%A1%A8%E5%BB%BA%E7%AD%91%E7%89%A9%E8%AF%86%E5%88%AB/test_a.zip
test_a_samplesubmit.csv 46.39KB http://tianchi-competition.oss-cn-hangzhou.aliyuncs.com/531872/%E5%9C%B0%E8%A1%A8%E5%BB%BA%E7%AD%91%E7%89%A9%E8%AF%86%E5%88%AB/test_a_samplesubmit.csv
train.zip 3.68GB http://tianchi-competition.oss-cn-hangzhou.aliyuncs.com/531872/%E5%9C%B0%E8%A1%A8%E5%BB%BA%E7%AD%91%E7%89%A9%E8%AF%86%E5%88%AB/train.zip
train_mask.csv.zip 97.52MB http://tianchi-competition.oss-cn-hangzhou.aliyuncs.com/531872/%E5%9C%B0%E8%A1%A8%E5%BB%BA%E7%AD%91%E7%89%A9%E8%AF%86%E5%88%AB/train_mask.csv.zip
  • 预训练模型与安装包

(1)预训练模型下载的是fcn_resnet50,参见 下载链接

model_urls = {
    'fcn_resnet50_coco': 'https://download.pytorch.org/models/fcn_resnet50_coco-1167a1af.pth',
    'fcn_resnet101_coco': 'https://download.pytorch.org/models/fcn_resnet101_coco-7ecb50ca.pth'
}

手动下载后,放到 C:\Users\xxx_username\.cache\torch\hub\checkpoints 即可
(2)主要是数据增强模块 albumentations 等,这个后面要好好看一下

运行过程

主要是距离打卡deadline大概只有4个小时时间,所以主要是在本地构建,上传csv。

  • nvidia-gtx1060 ,
  • 12g内存,
  • win10
  • pytorch 1.6 python3.6

(1)根据我对于pytorch模型的了解,其实输入任意尺寸的图片都是可以正常处理的。因为在输出的时候有做AdaptiveMaxPool2d,所以最终的尺寸一定会在fc layer之前匹配到最后的输出的feature map的尺寸要求。这个也是pytorch模型没有像keras那样要求input shape是个固定值的原因。当然最好是在dataload的时候固定尺寸大小,而且这个大小最好能和模型的标准尺寸对应。因为后续要做T.Normalize,这个值大概率是通过kmeans统计出来的,以便于加速同一批次固定尺寸图片快速收敛。
(2)考虑到图片过大,在cpu上的占用资源过大,我选择将img size = 128, batchsize=8,。
训练一次大致是25分钟,选择epoch=5,大致是训练2个半小时。
(3)在jupyter notebook上训练,但是出现一些问题并解决:

“ImportError: FloatProgress not found. Please update
jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html”

这是因为jupyter或者ipywidgets没安装或者没关联造成

解决方案:

1,卸载jupyter:pip uninstall jupyter

2,安装jupyter:pip install jupyter

3,安装ipywidgets:pip install ipywidgets

4,关联:jupyter nbextension enable --py widgetsnbextension

运行结果

在这里插入图片描述

后续提升

在这里插入图片描述

REF

参赛链接
baseline讲解过程
天池实验室DSW新手使用手册

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐