Closed
Description
Issue
We are preparing for a TorchGeo tutorial at AGU and need to greatly expand our existing list of tutorials. This issue lists the tutorials that still need to be added and tracks progress towards completion.
General requirements:
- Accessible: tutorials should require no prior knowledge of ML or RS
- End-to-end: complete training and inference pipelines
- Well-tested: all tutorials must be tested in CI to ensure they remain up-to-date
- Resource-efficient: CI necessitates toy datasets that can be quickly downloaded
- Linter-approved: all notebooks should pass our ruff style checks
Fix
The current plan is to completely rewrite all of our existing tutorials and organize them as follows:
- Getting Started: general overview of DL/RS/TorchGeo, links to all other tutorial sections Docs: reorganize tutorial hierarchy #2439
- Introduction to PyTorch: datasets, train-val-test splits, PyTorch, training, evaluation Add Introduction to PyTorch tutorial #2440
- Introduction to Geospatial Data: challenges of RS data, CRS, projections, resolution Add Introduction to Geospatial Data tutorial #2446
- Introduction to TorchGeo: types of datasets, purpose of samplers Add Introduction to TorchGeo tutorial #2457
- Basic Usage: targeted towards the ML crowd, more focused on training and evaluation Docs: reorganize tutorial hierarchy #2439
- Datasets: NonGeo/Geo/Raster/Vector/Intersection/Union, dataset splitters Add datasets + samplers tutorial #2455
- Samplers: GeoSampler, ROI, train vs evaluation samplers Add datasets + samplers tutorial #2455
- Transforms: how to perform preprocessing, data augmentation, spectral indices, etc.
- Models: how to use models from timm, torchvision, and SMP, how to load pre-trained models, torch.hub, etc.
- Lightning: purpose of data modules and trainers, examples for classification, regression, etc.
- CLI: command-line interface and experimentation, reproducibility and best practices Add TorchGeo CLI tutorial #2479
- Case Studies: end-to-end workflows, targeted towards the RS crowd, more focused on inference Docs: reorganize tutorial hierarchy #2439
- Land cover mapping: for agriculture Add Crop Type Mapping tutorial #2449
- Change detection: for building damage assessment?
- Instance segmentation: for field boundary detection? @burakekim
- Hydrology: Added EarthSurfaceWater tutorial #960
- Time series: after Time Series Support #2382 is complete
- Any other ideas?
- Customization: how to write your own datasets and contribute them back Docs: reorganize tutorial hierarchy #2439
- NonGeoDataset Add contribution tutorial for Non-Geo Datasets #2451
- RasterDataset
- Data modules: Geo, NonGeo Add Contribution Guide for Datamodule #2452
- Transforms
- Models: @nilsleh
- Trainers: Added custom semantic segmentation trainer tutorial #1897
In this design, there will only be 4 sections on the sidebar, but each one will expand when clicked on, listing all available tutorials. This will allow a growing number of tutorials without cluttering the docs. We will also move the tutorials above the API reference.