我是按照【语义分割与MMSegmentation】 https://www.bilibili.com/video/BV1qN411z7hz/?share_source=copy_web&vd_source=e6512529dd3ff573c1205bd41d938fec里面的步骤来跑的。

我的标签只有两个类别

0:background

255: liver

注意以下几点:

1.在/root/autodl-tmp/mmsegmentation/mmseg/datasets/transforms/loading.py中添加第118行代码,经过调试发现读取label数据的时候,对于单通道数据,像素值要和类别的id
相等。比如我的数’background’,‘building’在单通道的label数据中要像素值分别要为‘background’=0,‘building’= 1,因为我的数据是background’=0,‘building’= 255,所以我修改了源代码将标签中为255的像素值改成了1。

2f5f1c4459994227abac0151f02d88dd.png

2.遇到的评价指标为0或者100%的问题 

修改LOSS函数应该可以解决此问题,修改/root/autodl-tmp/mmsegmentation/configs/_base_/models/upernet_swin.py中第46,59行代码,将函数改成’DiceLoss‘函数。

e8a740cfe8f246ad9732736ea3788e04.png

3.在配置环境时,下载mmcv和与其兼容的pytorch很麻烦,这里,直接下载 torch1.10.1+cu113版本,然后下载对应的mmcv=2.0.0,下载torch时安全上网更快。

pip3 install install torch==1.10.1+cu113 torchvision==0.11.2+cu113 -f https://download.pytorch.org/whl/cu113/torch_stable.html
!pip install -U openmim
!mim install mmengine
!mim install mmcv==2.0.0


 

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐