nanxuanzhao / Good_transfer

Pretrained models for "What Makes Instance Discrimination Good for Transfer Learning?".
28 stars 2 forks source link

Fail to reproduce the results of semantic segmentation on CityScapes #1

Closed jq0227 closed 3 years ago

jq0227 commented 3 years ago

Hi, I have tried to reproduce the results of semantic segmentation on CityScapes reported in your paper WHAT MAKES INSTANCE DISCRIMINATION GOOD FOR TRANSFER LEARNING?. But I fail to reproduce 78.6 (mIoU) based on MoCo v2 pre-trained models (the official released version). I use Detectron2 deeplab_v3 to implement the deeplab v3 architecture, and the main arguments can be summarized as follows:

MODEL:
  WEIGHTS: "detectron2://DeepLab/R-103.pkl"
  PIXEL_MEAN: [123.675, 116.280, 103.530]
  PIXEL_STD: [58.395, 57.120, 57.375]
  BACKBONE:
    NAME: "build_resnet_deeplab_backbone"
  RESNETS:
    DEPTH: 50
    NORM: "SyncBN"
    RES5_MULTI_GRID: [1, 2, 4]
    STEM_TYPE: "basic"
    STEM_OUT_CHANNELS: 64
    STRIDE_IN_1X1: False
  SEM_SEG_HEAD:
    NAME: "DeepLabV3Head"
    NORM: "SyncBN"
INPUT:
  FORMAT: "RGB"
SOLVER:
  BASE_LR: 0.01
  MAX_ITER: 40000
  LR_SCHEDULER_NAME: "WarmupPolyLR"
  IMS_PER_BATCH: 8

Unfortunately, my best re-implemented result is 77.17 (mIoU), which largely falls behind 78.6 (mIoU). I wonder what I miss in my reproduction.

zhirongw commented 3 years ago

Hi,

We use the mmseg codebase for fine-tuning the semantic segmentation experiments. I am sorry that this detail is omitted in the paper.

The focus of our project is the relative increase/decrease between models, not the absolute one. We are not clear what implementation difference between mmseg and detectron causes such gap in performance. If you want to reproduce the number of 78.6, please leave an email, and I can send over the code.

Thanks, Zhirong

jq0227 commented 3 years ago

Thank you.

Your detailed and prompt reply addresses my doubts.