Due to size constraints, the dataset and checkpoints are hosted externally.
- Download the Multi-Temporal Crop Classification dataset and the corresponding GeoMTL text annotations.
- Extract both into the same directory. It should contain
chips_df.csv,training_data.txt,validation_data.txt,test_data.txt,training_chips/,validation_chips/, and the per-chip.txt/.qual.txt/.clean.txtcaption files. - Pretrained checkpoints to reproduce paper results: GeoMTL checkpoints on Hugging Face.
git clone https://github.com/TadieB/geoMTL.git
cd geoMTL
conda env create -f environment.yml
conda activate prithvi_py311All entry points use a subcommand for the model, followed by that model's arguments. Run python scripts/train.py <model> --help for the full argument list.
Train
python scripts/train.py geomtl --decoder_mode scratch \
--data_path /path/to/data --model_weights /path/to/Prithvi_EO_V2_300M.pt
python scripts/train.py resnet_lstm --data_path /path/to/data
python scripts/train.py seg_ablation --finetune_full_model \
--data_path /path/to/data --model_weights /path/to/Prithvi_EO_V2_300M.ptEvaluate (quantitative metrics → JSON)
python scripts/evaluate.py geomtl --decoder_mode scratch \
--checkpoint checkpoints/geomtl_scratch_best.pth \
--model_weights /path/to/Prithvi_EO_V2_300M.pt --data_path /path/to/data \
--output_file metrics_geomtl_scratch.jsonInference (qualitative panels + text reports)
python scripts/inference.py geomtl --decoder_mode scratch \
--checkpoint checkpoints/geomtl_scratch_best.pth \
--model_weights /path/to/Prithvi_EO_V2_300M.pt --data_path /path/to/data \
--output_dir sample_outputs/geomtl_scratchSLURM equivalents (see slurm_jobs/*.sh headers for more examples):
sbatch -J geomtl-scratch slurm_jobs/run_train.sh geomtl --decoder_mode scratch \
--data_path /path/to/data --model_weights /path/to/Prithvi_EO_V2_300M.pt@inproceedings{medimem2026geomtl,
title = {GEO-MTL: A Multi-task Framework for Joint Semantic Segmentation and Textual Scene Reporting in Remote Sensing},
author = {Medimem, Tadie B. and Melgani, Farid and Fiore, Sandro Luigi and Anantharaj, Valentine G.},
booktitle = {IEEE International Geoscience and Remote Sensing Symposium (IGARSS)},
year = {2026}
}