torchgeo icon indicating copy to clipboard operation
torchgeo copied to clipboard

Add additional tutorials

Open adamjstewart opened this issue 3 months ago • 8 comments

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:

  • [x] Getting Started: general overview of DL/RS/TorchGeo, links to all other tutorial sections #2439
    • [x] Introduction to PyTorch: datasets, train-val-test splits, PyTorch, training, evaluation #2440
    • [x] Introduction to Geospatial Data: challenges of RS data, CRS, projections, resolution #2446
    • [x] Introduction to TorchGeo: types of datasets, purpose of samplers #2457
  • [x] Basic Usage: targeted towards the ML crowd, more focused on training and evaluation #2439
    • [ ] Datasets: NonGeo/Geo/Raster/Vector/Intersection/Union, dataset splitters #2455
    • [ ] Samplers: GeoSampler, ROI, train vs evaluation samplers #2455
    • [x] Transforms: how to perform preprocessing, data augmentation, spectral indices, etc.
    • [x] Models: how to use models from timm, torchvision, and SMP, how to load pre-trained models, torch.hub, etc.
    • [x] Lightning: purpose of data modules and trainers, examples for classification, regression, etc.
    • [ ] CLI: command-line interface and experimentation, reproducibility and best practices
  • [x] Case Studies: end-to-end workflows, targeted towards the RS crowd, more focused on inference #2439
    • [ ] Land cover mapping: for agriculture #2449
    • [ ] Change detection: for building damage assessment?
    • [ ] Instance segmentation: for field boundary detection? @burakekim
    • [x] Hydrology: #960
    • [ ] Time series: after #2382 is complete
    • [ ] Any other ideas?
  • [x] Customization: how to write your own datasets and contribute them back #2439
    • [x] NonGeoDataset #2451
    • [x] RasterDataset
    • [x] Data modules: Geo, NonGeo #2452
    • [ ] Transforms
    • [ ] Models: @nilsleh
    • [ ] Trainers: #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.

adamjstewart avatar Nov 19 '24 13:11 adamjstewart