/Ali_tianchi_yaogan_2class

阿里天池2分类遥感图像分割

Primary LanguagePython

解决方案

  1. 基础模型采用UNet++网络模型,backbone采用ImageNet预训练好的timm-efficientNet-b8并在模型中添加scse注意力机制。
  2. 训练好2个模型进行结果融合。
  3. 采用FastAI框架进行代码编写。
  4. 2个模型分别为,(1)数据增强,b8,训练120轮(2)数据增强,b8,训练80轮。
  5. 操作系统版本:Linux version 5.8.0-29-generic (buildd@lgw01-amd64-039) (gcc (Ubuntu 9.3.0-17ubuntu120.04) 9.3.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #3120.04.1-Ubuntu SMP Fri Nov 6 16:10:42 UTC 2020
  6. python版本:3.7.9

训练数据处理

  1. 对原始数据随机提出1000张作为测试集不参与训练。
  2. 利用FastAI自带的数据增强库对训练数据进行增强。
  3. 划分20%作为验证集。

训练策略

  1. 采用fit_flat_cos训练模式训练80轮,和训练120轮。
  2. 采用混合精度训练。
  3. 采用Adam优化器。
  4. 在训练过程中保存miou最好成绩的模型。

复现流程

  1. 执行train.sh文件进行训练数据划分和模型训练。
  2. 执行test.sh文件进行预测。
  3. 分别利用两个模型在1000张测试集中进行测试,并计算miou结果,将两个模型的每个类别的miou成绩进行融合,得到最终的每个模型的miou权重,利用miou权重进行模型的融合。