GEO-Bench is a ServiceNow Research project.
⚠️ Note: This repo is solely for reproducing the experiments of the paper or to use as a starting point for your experiments.
⚠️ For the official repo of GEO-Bench, go here.
git clone https://github.com/ServiceNow/geo-bench-experiments.git
cd geo-bench-experiments
pip install -e .
There are two types of configuration files: task specific config files (one for segmentation and one for classification), as well as model specific config files. To get started, you need to set the benchmark_dir
in the task config files found under geobench_exp/configs
to the directory where the GeoBench Data has been downloaded two. Then, actually running experiments is a two-step process.
$ geobench_exp-gen_exp --task_config_path geobench_exp/configs/segmentation_task.yaml --model_config_path geobench_exp/configs/model_configs/segmentation/unet_resnet18.yaml
where the task_config_path
flag should either point to segmentation_task.yaml
or classification_task.yaml
. The model_config_path
points to the configuration of the model you want to run, for example a Unet with a ResNet18 backbone. This will create experiment directories under the specified generate_experiment_dir
directory specified in the task config. Among other files, those subdirectory will hold a bash script called run.sh
with a command to execute the run for that particular experiment.
The geobench_exp-gen_exp
command is a shortcut for the geobench_exp/generate_experiment.py
script which is solely controlled by the task config you write. The task config is annotated with comments to give an idea what controls what.
run.sh
scripts of the experiment you are interested in. For example,$ geobench_exp-run_exp --job_dir experiments/0.05x_train_segmentation_v1.0_01-18-2024_13:38:27resnet18_Unet/m-chesapeake/seed_0
The geobench_exp-run_exp
command is a shortcut for the geobench_exp/run_experiment.py
script which executes the training.