name: torchgeo
description: "Use for TorchGeo geospatial deep learning work: datasets,
samplers, data modules, transforms, pre-trained models, Lightning tasks, and
contribution/testing workflows."
metadata:
disco-role: operating
disable-model-invocation: true
license: MIT
TorchGeo
Use this repo skill when working with the torchgeo Python package, a PyTorch domain library for geospatial and remote-sensing machine learning. The skill is grounded in the TorchGeo repository at commit 51a30d67f28794090f88a59b91deeadf91de1878 and is intended for later Researcher sessions; do not assume the original checkout is available.
Route by task
- Dataset composition,
GeoDataset/NonGeoDataset, raster/vector IO, sample dictionaries, collate functions, patch samplers, ROI/TOI selection, or fake dataset fixtures: read datasets-and-samplers.
- Lightning
DataModule usage, torchgeo CLI/JSONArgParse configs, task classes for classification, segmentation, detection, regression, self-supervised learning, or batch augmentation handoff: read datamodules-and-tasks.
- Pre-trained models, weight enums,
get_model, get_weight, list_models, timm/SMP integration, spectral indices, SAR/color/spatial/temporal transforms, or optional model dependencies: read models-and-transforms.
- Adding or modifying TorchGeo code, dataset tests, docs tables, style/type checks, fake data generation, or project conventions: read contribution-and-testing.
High-signal operating facts
- TorchGeo has two dataset families:
GeoDataset instances are indexed by spatiotemporal slices and can be composed with & for intersection and | for union.
NonGeoDataset instances behave like torchvision-style benchmark datasets and are indexed by integer sample id.
- Dataset samples are dictionaries. Common keys are
image, mask, label, bbox_xyxy, metadata keys such as crs/bounds, and task-specific keys. Do not assume a fixed schema without reading the dataset class or test fixture.
- Use
stack_samples for geospatial sample dictionaries and task-specific collate helpers such as detection collation where the datamodule/test uses them.
- Patch samplers yield
GeoSlice windows; RandomPatchSampler is for stochastic training chips and Grid/GriddedPatchSampler style samplers are for deterministic tiling/evaluation.
- The
torchgeo command line entry point is backed by torchgeo.main:main and Lightning/JSONArgParse. Prefer a config file for reproducible task/datamodule/trainer runs.
- Most practical workflows require geospatial dependencies (
rasterio, pyproj, shapely, geopandas) and ML dependencies (torch, torchvision, lightning, kornia, timm, segmentation-models-pytorch). Optional dataset/model extras are not always installed.
- Avoid downloads/network in routine tests unless the test is explicitly marked slow. The repository uses small generated fake fixtures under
tests/data/<dataset>/.
Bundled references and scripts