gitextract_cmyl0w8x/ ├── .gitignore ├── LICENSE ├── README.md ├── data/ │ ├── 50k_ids_random.csv │ └── void_ids.csv └── src/ ├── benchmark/ │ ├── pretrain_data2vec/ │ │ └── readme.md │ ├── pretrain_ssl/ │ │ ├── datasets/ │ │ │ └── SSL4EO/ │ │ │ ├── ssl4eo_dataset.py │ │ │ └── ssl4eo_dataset_lmdb.py │ │ ├── models/ │ │ │ ├── data2vec/ │ │ │ │ ├── README.md │ │ │ │ ├── README_Original.md │ │ │ │ ├── dall_e/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── decoder.py │ │ │ │ │ ├── encoder.py │ │ │ │ │ └── utils.py │ │ │ │ ├── dataset_folder.py │ │ │ │ ├── datasets.py │ │ │ │ ├── engine_for_cyclical.py │ │ │ │ ├── engine_for_cyclical_joint.py │ │ │ │ ├── engine_for_finetuning.py │ │ │ │ ├── engine_for_pretraining.py │ │ │ │ ├── get_started_for_image_classification.md │ │ │ │ ├── masking_generator.py │ │ │ │ ├── modeling_cyclical.py │ │ │ │ ├── modeling_cyclical_joint.py │ │ │ │ ├── modeling_discrete_vae.py │ │ │ │ ├── modeling_finetune.py │ │ │ │ ├── modeling_pretrain.py │ │ │ │ ├── models.py │ │ │ │ ├── optim_factory.py │ │ │ │ ├── requirements.txt │ │ │ │ ├── run_beit_pretraining.py │ │ │ │ ├── run_class_finetuning.py │ │ │ │ ├── run_cyclical.py │ │ │ │ ├── run_cyclical_joint.py │ │ │ │ ├── semantic_segmentation/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── backbone/ │ │ │ │ │ │ └── beit.py │ │ │ │ │ ├── configs/ │ │ │ │ │ │ ├── _base_/ │ │ │ │ │ │ │ ├── datasets/ │ │ │ │ │ │ │ │ ├── ade20k.py │ │ │ │ │ │ │ │ └── ade20k_640x640.py │ │ │ │ │ │ │ ├── default_runtime.py │ │ │ │ │ │ │ ├── models/ │ │ │ │ │ │ │ │ └── upernet_beit.py │ │ │ │ │ │ │ └── schedules/ │ │ │ │ │ │ │ ├── schedule_160k.py │ │ │ │ │ │ │ └── schedule_320k.py │ │ │ │ │ │ └── beit/ │ │ │ │ │ │ └── upernet/ │ │ │ │ │ │ ├── upernet_beit_base_12_512_slide_160k_ade20k.py │ │ │ │ │ │ ├── upernet_beit_base_12_512_slide_160k_ade20k_ms.py │ │ │ │ │ │ ├── upernet_beit_base_12_640_slide_160k_ade20k.py │ │ │ │ │ │ ├── upernet_beit_base_12_640_slide_160k_ade20k_ms.py │ │ │ │ │ │ ├── upernet_beit_large_24_512_slide_160k_ade20k.py │ │ │ │ │ │ ├── upernet_beit_large_24_512_slide_160k_ade20k_ms.py │ │ │ │ │ │ ├── upernet_beit_large_24_640_slide_160k_ade20k.py │ │ │ │ │ │ └── upernet_beit_large_24_640_slide_160k_ade20k_ms.py │ │ │ │ │ ├── mmcv_custom/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── apex_runner/ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ ├── apex_iter_based_runner.py │ │ │ │ │ │ │ ├── checkpoint.py │ │ │ │ │ │ │ └── optimizer.py │ │ │ │ │ │ ├── checkpoint.py │ │ │ │ │ │ ├── layer_decay_optimizer_constructor.py │ │ │ │ │ │ ├── resize_transform.py │ │ │ │ │ │ └── train_api.py │ │ │ │ │ └── tools/ │ │ │ │ │ ├── dist_test.sh │ │ │ │ │ ├── dist_train.sh │ │ │ │ │ ├── test.py │ │ │ │ │ └── train.py │ │ │ │ ├── transforms.py │ │ │ │ └── utils.py │ │ │ ├── dino/ │ │ │ │ ├── utils.py │ │ │ │ └── vision_transformer.py │ │ │ ├── mae/ │ │ │ │ ├── engine_finetune.py │ │ │ │ ├── engine_finetune_BE.py │ │ │ │ ├── engine_finetune_EU.py │ │ │ │ ├── engine_finetune_SS.py │ │ │ │ ├── engine_pretrain.py │ │ │ │ ├── main_finetune.py │ │ │ │ ├── main_linprobe.py │ │ │ │ ├── main_pretrain.py │ │ │ │ ├── models_mae.py │ │ │ │ ├── models_vit.py │ │ │ │ ├── submitit_finetune.py │ │ │ │ ├── submitit_linprobe.py │ │ │ │ ├── submitit_pretrain.py │ │ │ │ └── util/ │ │ │ │ ├── __init__.py │ │ │ │ ├── crop.py │ │ │ │ ├── datasets.py │ │ │ │ ├── lars.py │ │ │ │ ├── lr_decay.py │ │ │ │ ├── lr_sched.py │ │ │ │ ├── misc.py │ │ │ │ └── pos_embed.py │ │ │ ├── moco/ │ │ │ │ ├── builder.py │ │ │ │ └── loader.py │ │ │ ├── moco_v2/ │ │ │ │ ├── README.md │ │ │ │ ├── __init__.py │ │ │ │ ├── builder.py │ │ │ │ ├── detection/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── configs/ │ │ │ │ │ │ ├── Base-RCNN-C4-BN.yaml │ │ │ │ │ │ ├── coco_R_50_C4_2x.yaml │ │ │ │ │ │ ├── coco_R_50_C4_2x_moco.yaml │ │ │ │ │ │ ├── pascal_voc_R_50_C4_24k.yaml │ │ │ │ │ │ └── pascal_voc_R_50_C4_24k_moco.yaml │ │ │ │ │ ├── convert-pretrain-to-detectron2.py │ │ │ │ │ └── train_net.py │ │ │ │ ├── loader.py │ │ │ │ └── main_lincls.py │ │ │ ├── moco_v3/ │ │ │ │ ├── __init__.py │ │ │ │ ├── builder.py │ │ │ │ ├── loader.py │ │ │ │ ├── optimizer.py │ │ │ │ └── vits.py │ │ │ ├── rs_transforms_float32.py │ │ │ └── rs_transforms_uint8.py │ │ ├── pretrain_data2vec.py │ │ ├── pretrain_dino_s2c.py │ │ ├── pretrain_mae_s2c.py │ │ ├── pretrain_moco_v2_s2c.py │ │ ├── pretrain_moco_v2_seco_ms.py │ │ ├── pretrain_moco_v2_sen12ms_ms.py │ │ ├── pretrain_moco_v3_s2c.py │ │ └── scripts/ │ │ └── pretrain/ │ │ ├── srun_train_SEN12MS_moco_rn50_rgb.sh │ │ ├── srun_train_SEN12MS_moco_rn50_s2c.sh │ │ ├── srun_train_SeCo_moco_rn50_s2a.sh │ │ ├── srun_train_dino_rn50_s2c.sh │ │ ├── srun_train_dino_vits16_s2c.sh │ │ ├── srun_train_mae_vits16_s2c.sh │ │ ├── srun_train_moco_rn50_s2c.sh │ │ ├── srun_train_moco_vits16_s2c.sh │ │ ├── submit_pretrain_data2vec.sh │ │ └── train_data2vec_vits16_s2c.sh │ ├── transfer_change_detection/ │ │ ├── datasets/ │ │ │ ├── __init__.py │ │ │ ├── oscd_datamodule.py │ │ │ └── oscd_dataset.py │ │ ├── main_oscd.py │ │ ├── models/ │ │ │ ├── __init__.py │ │ │ └── segmentation.py │ │ ├── readme.md │ │ ├── test.sh │ │ ├── train.sh │ │ ├── utils/ │ │ │ ├── __init__.py │ │ │ ├── data.py │ │ │ └── transforms.py │ │ └── validate_oscd.py │ ├── transfer_classification/ │ │ ├── datasets/ │ │ │ ├── BigEarthNet/ │ │ │ │ ├── bigearthnet_dataset_seco.py │ │ │ │ └── bigearthnet_dataset_seco_lmdb_s2_uint8.py │ │ │ ├── EuroSat/ │ │ │ │ └── eurosat_dataset.py │ │ │ └── So2Sat/ │ │ │ └── so2sat_lcz42_dataset.py │ │ ├── linear_BE_data2vec.py │ │ ├── linear_BE_dino.py │ │ ├── linear_BE_mae.py │ │ ├── linear_BE_moco.py │ │ ├── linear_BE_moco_v3.py │ │ ├── linear_BE_sup.py │ │ ├── linear_EU_data2vec.py │ │ ├── linear_EU_dino.py │ │ ├── linear_EU_mae.py │ │ ├── linear_EU_moco.py │ │ ├── linear_EU_moco_v3.py │ │ ├── linear_SS_data2vec.py │ │ ├── linear_SS_dino.py │ │ ├── linear_SS_mae.py │ │ ├── linear_SS_moco.py │ │ ├── linear_SS_moco_v3.py │ │ ├── models/ │ │ │ ├── data2vec/ │ │ │ │ ├── README.md │ │ │ │ ├── README_Original.md │ │ │ │ ├── dall_e/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── decoder.py │ │ │ │ │ ├── encoder.py │ │ │ │ │ └── utils.py │ │ │ │ ├── dataset_folder.py │ │ │ │ ├── datasets.py │ │ │ │ ├── engine_for_cyclical.py │ │ │ │ ├── engine_for_cyclical_joint.py │ │ │ │ ├── engine_for_finetuning.py │ │ │ │ ├── engine_for_pretraining.py │ │ │ │ ├── get_started_for_image_classification.md │ │ │ │ ├── masking_generator.py │ │ │ │ ├── modeling_cyclical.py │ │ │ │ ├── modeling_cyclical_joint.py │ │ │ │ ├── modeling_discrete_vae.py │ │ │ │ ├── modeling_finetune.py │ │ │ │ ├── modeling_pretrain.py │ │ │ │ ├── models.py │ │ │ │ ├── optim_factory.py │ │ │ │ ├── requirements.txt │ │ │ │ ├── run_beit_pretraining.py │ │ │ │ ├── run_class_finetuning.py │ │ │ │ ├── run_cyclical.py │ │ │ │ ├── run_cyclical_joint.py │ │ │ │ ├── semantic_segmentation/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── backbone/ │ │ │ │ │ │ └── beit.py │ │ │ │ │ ├── configs/ │ │ │ │ │ │ ├── _base_/ │ │ │ │ │ │ │ ├── datasets/ │ │ │ │ │ │ │ │ ├── ade20k.py │ │ │ │ │ │ │ │ └── ade20k_640x640.py │ │ │ │ │ │ │ ├── default_runtime.py │ │ │ │ │ │ │ ├── models/ │ │ │ │ │ │ │ │ └── upernet_beit.py │ │ │ │ │ │ │ └── schedules/ │ │ │ │ │ │ │ ├── schedule_160k.py │ │ │ │ │ │ │ └── schedule_320k.py │ │ │ │ │ │ └── beit/ │ │ │ │ │ │ └── upernet/ │ │ │ │ │ │ ├── upernet_beit_base_12_512_slide_160k_ade20k.py │ │ │ │ │ │ ├── upernet_beit_base_12_512_slide_160k_ade20k_ms.py │ │ │ │ │ │ ├── upernet_beit_base_12_640_slide_160k_ade20k.py │ │ │ │ │ │ ├── upernet_beit_base_12_640_slide_160k_ade20k_ms.py │ │ │ │ │ │ ├── upernet_beit_large_24_512_slide_160k_ade20k.py │ │ │ │ │ │ ├── upernet_beit_large_24_512_slide_160k_ade20k_ms.py │ │ │ │ │ │ ├── upernet_beit_large_24_640_slide_160k_ade20k.py │ │ │ │ │ │ └── upernet_beit_large_24_640_slide_160k_ade20k_ms.py │ │ │ │ │ ├── mmcv_custom/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── apex_runner/ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ ├── apex_iter_based_runner.py │ │ │ │ │ │ │ ├── checkpoint.py │ │ │ │ │ │ │ └── optimizer.py │ │ │ │ │ │ ├── checkpoint.py │ │ │ │ │ │ ├── layer_decay_optimizer_constructor.py │ │ │ │ │ │ ├── resize_transform.py │ │ │ │ │ │ └── train_api.py │ │ │ │ │ └── tools/ │ │ │ │ │ ├── dist_test.sh │ │ │ │ │ ├── dist_train.sh │ │ │ │ │ ├── test.py │ │ │ │ │ └── train.py │ │ │ │ ├── transforms.py │ │ │ │ └── utils.py │ │ │ ├── dino/ │ │ │ │ ├── utils.py │ │ │ │ └── vision_transformer.py │ │ │ ├── mae/ │ │ │ │ ├── engine_finetune.py │ │ │ │ ├── engine_finetune_BE.py │ │ │ │ ├── engine_finetune_EU.py │ │ │ │ ├── engine_finetune_SS.py │ │ │ │ ├── engine_pretrain.py │ │ │ │ ├── main_finetune.py │ │ │ │ ├── main_linprobe.py │ │ │ │ ├── main_pretrain.py │ │ │ │ ├── models_mae.py │ │ │ │ ├── models_vit.py │ │ │ │ ├── submitit_finetune.py │ │ │ │ ├── submitit_linprobe.py │ │ │ │ ├── submitit_pretrain.py │ │ │ │ └── util/ │ │ │ │ ├── __init__.py │ │ │ │ ├── crop.py │ │ │ │ ├── datasets.py │ │ │ │ ├── lars.py │ │ │ │ ├── lr_decay.py │ │ │ │ ├── lr_sched.py │ │ │ │ ├── misc.py │ │ │ │ └── pos_embed.py │ │ │ ├── moco/ │ │ │ │ ├── builder.py │ │ │ │ └── loader.py │ │ │ ├── moco_v2/ │ │ │ │ ├── README.md │ │ │ │ ├── __init__.py │ │ │ │ ├── builder.py │ │ │ │ ├── detection/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── configs/ │ │ │ │ │ │ ├── Base-RCNN-C4-BN.yaml │ │ │ │ │ │ ├── coco_R_50_C4_2x.yaml │ │ │ │ │ │ ├── coco_R_50_C4_2x_moco.yaml │ │ │ │ │ │ ├── pascal_voc_R_50_C4_24k.yaml │ │ │ │ │ │ └── pascal_voc_R_50_C4_24k_moco.yaml │ │ │ │ │ ├── convert-pretrain-to-detectron2.py │ │ │ │ │ └── train_net.py │ │ │ │ ├── loader.py │ │ │ │ └── main_lincls.py │ │ │ ├── moco_v3/ │ │ │ │ ├── __init__.py │ │ │ │ ├── builder.py │ │ │ │ ├── loader.py │ │ │ │ ├── optimizer.py │ │ │ │ └── vits.py │ │ │ ├── rs_transforms_float32.py │ │ │ └── rs_transforms_uint8.py │ │ └── scripts/ │ │ ├── ablation/ │ │ │ ├── srun_ImageNet_ft_moco-v2-ep800_pad_rn50_s2c_BE_10.sh │ │ │ ├── srun_ImageNet_lc_moco-v2-ep200_pad_rn50_s2c_BE_10.sh │ │ │ ├── srun_ImageNet_lc_moco-v2-ep800_pad_rn50_s2c_BE_10.sh │ │ │ ├── srun_ImageNet_lc_sup_pad_rn50_s2c_BE_10.sh │ │ │ ├── srun_ImageNet_lc_sup_reinit_rn50_s2c_BE_10.sh │ │ │ ├── srun_SEN12MS_lc_moco_rn50_rgb_BE_10.sh │ │ │ ├── srun_SEN12MS_lc_moco_rn50_rgb_BE_100.sh │ │ │ ├── srun_SEN12MS_lc_moco_rn50_rgb_EU.sh │ │ │ ├── srun_SEN12MS_lc_moco_rn50_s2c_BE_10.sh │ │ │ ├── srun_SEN12MS_lc_moco_rn50_s2c_BE_100.sh │ │ │ ├── srun_SEN12MS_lc_moco_rn50_s2c_EU.sh │ │ │ ├── srun_SeCo_lc_moco_rn50_s2c_BE_10.sh │ │ │ ├── srun_SeCo_lc_moco_rn50_s2c_BE_100.sh │ │ │ └── srun_SeCo_lc_moco_rn50_s2c_EU.sh │ │ └── benchmark/ │ │ ├── ft_data2vec_vit16_s2c_BE_100.sh │ │ ├── ft_data2vec_vits16_s2c_EU_100.sh │ │ ├── ft_data2vec_vits16_s2c_SS_100.sh │ │ ├── lc_data2vec_vit16_s2c_BE_100.sh │ │ ├── lc_data2vec_vits16_s2c_EU_100.sh │ │ ├── lc_data2vec_vits16_s2c_SS_100.sh │ │ ├── srun_ft_dino_rn50_s2c_BE.sh │ │ ├── srun_ft_dino_rn50_s2c_EU.sh │ │ ├── srun_ft_dino_rn50_s2c_SS.sh │ │ ├── srun_ft_dino_vits16_s2_BE.sh │ │ ├── srun_ft_dino_vits16_s2c_EU.sh │ │ ├── srun_ft_dino_vits16_s2c_SS.sh │ │ ├── srun_ft_mae_vits16_s2c_BE.sh │ │ ├── srun_ft_mae_vits16_s2c_EU.sh │ │ ├── srun_ft_mae_vits16_s2c_SS.sh │ │ ├── srun_ft_moco_rn50_s2c_BE.sh │ │ ├── srun_ft_moco_rn50_s2c_EU.sh │ │ ├── srun_ft_moco_rn50_s2c_SS.sh │ │ ├── srun_ft_moco_vits16_s2c_BE.sh │ │ ├── srun_ft_moco_vits16_s2c_EU.sh │ │ ├── srun_ft_moco_vits16_s2c_SS.sh │ │ ├── srun_lc_dino_rn50_s2c_BE.sh │ │ ├── srun_lc_dino_rn50_s2c_EU.sh │ │ ├── srun_lc_dino_rn50_s2c_SS.sh │ │ ├── srun_lc_dino_vits16_s2c_BE.sh │ │ ├── srun_lc_dino_vits16_s2c_EU.sh │ │ ├── srun_lc_dino_vits16_s2c_SS.sh │ │ ├── srun_lc_mae_vits16_s2c_BE.sh │ │ ├── srun_lc_mae_vits16_s2c_EU.sh │ │ ├── srun_lc_mae_vits16_s2c_SS.sh │ │ ├── srun_lc_moco_rn50_s2c_BE.sh │ │ ├── srun_lc_moco_rn50_s2c_EU.sh │ │ ├── srun_lc_moco_rn50_s2c_SS.sh │ │ ├── srun_lc_moco_vits16_s2c_BE.sh │ │ ├── srun_lc_moco_vits16_s2c_EU.sh │ │ └── srun_lc_moco_vits16_s2c_SS.sh │ ├── transfer_segmentation/ │ │ └── readme.md │ └── utils/ │ ├── convert_model_torchvision.py │ └── vis_tsne.ipynb └── download_data/ ├── convert_rgb.py ├── readme.md ├── ssl4eo_downloader.py └── ssl4eo_s12_downloader.py