Skip to content

Releases: microsoft/torchgeo

v0.2.1

20 Mar 16:41
af38975
Compare
Choose a tag to compare

TorchGeo 0.2.1 Release Notes

This is a bugfix release. There are no new features or API changes with respect to the 0.2.0 release.

Dependencies

  • Fix minimum supported kornia version (#350)
  • Support older pytorch-lightning (#347, #351)
  • Add support for torchmetrics 0.8+ (#361, #382)

DataModules

  • RESISC45: fix normalization statistics (#440)

Datasets

Fixes for dataset base classes:

  • GeoDataset: fix len() of empty dataset (#374)
  • RasterDataset: add support for float dtype (#379, #384)
  • RasterDataset: don't override custom cmap (#421, #422)
  • VectorDataset: fix issue with empty query (#399, #454, #467)

Fixes for specific datasets:

  • CDL: update checksums due to new file formats (#423, #424, #428)
  • Chesapeake: support extraction of deflate64-compressed zip files (#59, #282)
  • Chesapeake: allow multiple datasets to share same root (#419, #420)
  • ChesapeakeCVPR: update prior extension data to version 1.1 (#359)
  • IDTReeS: fix citation (#389)
  • LandCover.ai: support already-downloaded dataset (#383)
  • Sentinel-2: fix regex to support band 8A (#393)
  • SpaceNet 2: update checksum due to data format consistency fix (#469)

Samplers

  • Avoid bounding boxes smaller than patch size (#319, #376)

Tutorials

  • Fix variable name in trainer notebook (#434)

Tests

  • Fix integration tests on macOS/Windows (#349, #468)

Contributors

This release is thanks to the following contributors:

v0.2.0

02 Jan 03:58
Compare
Choose a tag to compare

TorchGeo 0.2.0 Release Notes

This release contains a number of new features. The biggest change in this release is a significant overhaul of GeoDataset. It is now possible to intelligently compose multiple GeoDatasets in a variety of ways. For example, users can now:

  • Combine datasets for multiple image sources and treat them as equivalent (e.g. Landsat 7 and Landsat 8)
  • Combine datasets for disparate geospatial locations (e.g. Chesapeake NY and PA)

These combinations require that all queries are present in at least one dataset, and can be combined using a UnionDataset:

landsat7 = Landsat7(root="...")
landsat8 = Landsat8(root="...", bands=["B2", "B3", "B4", "B5", "B6", "B7", "B8", "B9"])
landsat = landsat7 | landsat8

Users can now also:

  • Combine image and target labels and sample from both simultaneously (e.g. Landsat and CDL)
  • Combine datasets for multiple image sources for multimodal learning or data fusion (e.g. Landsat and Sentinel)

These combinations require that all queries are present in both datasets, and can be combined using an IntersectionDataset:

cdl = CDL(root="...", download=True, checksum=True)
dataset = landsat & cdl

If files are in different coordinate systems or at different spatial resolutions, TorchGeo now automatically warps all tiles to a common CRS and resolution. As before, all GeoDatasets are compatible with PyTorch DataLoaders using GeoSamplers.

Backwards-incompatible changes

TorchGeo is still in the alpha development phase and our API continues to change as needed. If you are using any of the following features, be sure to update your code to use the new API:

  • ZipDataset has been renamed to IntersectionDataset (#144)
  • GeoDataset no longer supports addition (+), use intersection (&) or union (|) instead (#144)
  • BoundingBox is no longer a subclass of tuple, but can still be cast to a tuple using tuple(bbox) (#144)
  • collate_dict has been renamed to stack_samples (#144)
  • Dataset-specific trainers have been removed, use task-specific trainers instead (#205, #286)
  • All DataModules have been moved from torchgeo.datasets to torchgeo.datamodules (#321)
  • Functional index transforms have been removed (#285)

Datamodules

This release adds a new torchgeo.datamodules namespace. All DataModules previously defined in torchgeo.datasets now live in torchgeo.datamodules.

In addition, the following datasets have new datamodules:

Many datamodules now have a plot method that wraps around the respective dataset plot method (#286)

Datasets

This release includes many improvements for geospatial datasets:

  • New IntersectionDataset and UnionDataset classes (#144)
  • GeoDataset and BoundingBox now support set arithmetic (#144)
  • New collation functions for stacking, concatenating, merging, and unbinding samples (#144, #286, #328)
  • Chesapeake CVPR dataset now supports optional prior labels (#202)

This release also includes the following new benchmark datasets:

Most existing datasets now have a plot method:

Losses

This release adds a new torchgeo.losses namespace for loss functions common in or exclusive to geospatial data.

Models

  • RCF now has a seed parameter (#193, #250)

Samplers

Trainers

  • Trainers now plot samples during validation for supported datamodules (#286)
  • Dataset-specific trainers have been removed (#286)

Transforms

  • New AppendNormalizedDifferenceIndex transform (#285)
  • New normalized burn ratio transform (#284)

Documentation

  • New tutorial for writing custom RasterDatasets (#283)
  • Tutorials are now properly versioned (#274, #309, #310)
  • Tutorials now have an "Open in Planetary Computer" button (#316)
  • Minor updates to Indices tutorial (#339, #348)

Tests

  • Datamodules are now properly tested with real trainers (#329)
  • Tests no longer require internet access (#194, #265)
  • Tests now use significantly less memory (#344)

Contributors

This release is thanks to the following contributors:

v0.1.1

20 Dec 01:40
c2b5614
Compare
Choose a tag to compare

TorchGeo 0.1.1 Release Notes

This is a bugfix release. There are no new features or API changes with respect to the 0.1.0 release.

Bug Fixes

  • Avoid circular import errors (#276)
  • Rework list of required dependencies (#249, #287)
  • Relax constraints on Conda environment (#293, #295)
  • Fix parallel data loading on macOS/Windows (#184, #304)
  • Fix bug in shuffling of ETCI 2021 dataset (#231)
  • Support already downloaded files in Chesapeake datasets (#281)
  • Tutorials now open the same file in Google Colab (#274, #309)
  • Add pre-trained ResNet models to the docs (#256)
  • Clean up tutorial imports (#267, #308)
  • Various improvements to CI stability (#261, #268, #292, #299, #306)

Contributors

This release is thanks to the following contributors:

v0.1.0

08 Nov 04:47
162b6bf
Compare
Choose a tag to compare

TorchGeo 0.1.0 Release Notes

This is the first official release of TorchGeo! This release contains the following features:

Datasets

Added the following new benchmark datasets:

  • ADVANCE (AuDio Visual Aerial sceNe reCognition datasEt) (#133)
  • Smallholder Cashew Plantations in Benin (#28)
  • BigEarthNet (#197, #211)
  • Cars Overhead With Context (COWC) (#25, #217)
  • CV4A Kenya Crop Type Competition (#22)
  • ETCI2021 Flood Detection (#119)
  • EuroSAT (#167)
  • GID-15 (Gaofen Image Dataset) (#123)
  • LandCover.ai (Land Cover from Aerial Imagery) (#19, #48)
  • LEVIR-CD+ (LEVIR Change Detection +) (#106)
  • PatternNet (#111)
  • RESISC45 (Remote Sensing Image Scene Classification) (#126, #179)
  • Seasonal Contrast (#223)
  • SEN12MS (#26, #44)
  • So2Sat (#34, #145)
  • SpaceNet (#129, #155, #185)
  • Tropical Cyclone Wind Estimation Competition (8305aa7)
  • NWPU VHR-10 (6df3809)
  • UC Merced (#169, #208)
  • ZueriCrop (#147)

Added the following new generic datasets:

  • Canadian Building Footprints (#69)
  • Chesapeake Bay High-Resolution Land Cover Project (#18, #100, #142)
  • Cropland Data Layer (CDL) (#37)
  • Landsat (#37)
  • National Agriculture Imagery Program (NAIP) (#57, #98)
  • Sentinel (#37)

Models

Added the following new models:

  • Change Star (#157)
  • Foreground-aware Relation Network (FarSeg) (#150)
  • Fully-convolutional Network (FCN) (#54)
  • Fully Convolutional Siamese Networks for Change Detection (#108)
  • Random-convolutional feature (RCF) extractor (#176)

Samplers

Added the following new samplers:

  • Random Geo Sampler (#37)
  • Grid Geo Sampler (#37)
  • Random Batch Geo Sampler (#37)

Trainers

Added the following new trainers:

  • BYOL (#145)
  • Classification (#207)
  • Multi-label Classification (#211)
  • Regression (#215)
  • Semantic Segmentation (#224)

Transforms

Added the following new transforms:

  • Indices: NDBI, NDSI, NDVI, NDWI (#127)

Docs

Added documentation for:

Added tutorials for:

  • Getting Started (#93)
  • Transforms (#127)
  • Indices (#127)
  • PyTorch Lightning Trainers (#161)
  • Benchmarking (#93)

Contributors

This release is thanks to the following contributors: