Quickstart#
This page walks through running your first benchmark end-to-end: download data, run the eval pipeline, and inspect the results.
Prerequisites#
torchgeo-benchinstalled (see Installation).At least one GeoBench dataset downloaded into
./data/— easiest is the smallm-eurosatsplit.
Download data#
Datasets always live under ./data/ relative to the current working
directory (paths are fixed — there are no GEOBENCH_ROOT environment
variables). The bundled downloader fetches each family by name:
$ torchgeo-bench download geobench_v1 # all V1 classification datasets
$ torchgeo-bench download geobench_v2 # default V2 set (cls + seg)
$ torchgeo-bench download geobench_v2 --datasets benv2,burn_scars
$ torchgeo-bench download eurosat # torchgeo's EuroSAT mirror
See Datasets for the full list of supported names and the canonical destination subdirectories.
Run a benchmark#
Run the default model (Random Convolutional Features) on EuroSAT V1 with KNN-5 + linear probing + 200 bootstrap resamples:
$ torchgeo-bench run dataset.names=[m-eurosat]
Use a different backbone preset (anything in src/torchgeo_bench/conf/model/):
$ torchgeo-bench run model=timm/resnet50 dataset.names=[m-eurosat,m-pv4ger]
Skip the (slow) linear probe and reduce bootstrap noise to iterate quickly:
$ torchgeo-bench run eval.skip_linear=true eval.bootstrap=100
Resume mode#
If a previous run was interrupted, resume=true skips any
(dataset, method, model, config) combination that already exists in the
output CSV:
$ torchgeo-bench run resume=true
See Results format for the exact key schema used by resume mode.
Inspect the results#
By default results land in results/all_results.csv. Each row is a
flat EvaluationResult, so you can read it
directly with pandas:
import pandas as pd
df = pd.read_csv("results/all_results.csv")
print(df.groupby(["dataset", "method"])["metric_value"].mean())