Releases: microsoft/torchgeo
v0.2.1
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
Tutorials
- Fix variable name in trainer notebook (#434)
Tests
Contributors
This release is thanks to the following contributors:
v0.2.0
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 toIntersectionDataset
(#144)GeoDataset
no longer supports addition (+
), use intersection (&
) or union (|
) instead (#144)BoundingBox
is no longer a subclass oftuple
, but can still be cast to a tuple usingtuple(bbox)
(#144)collate_dict
has been renamed tostack_samples
(#144)- Dataset-specific trainers have been removed, use task-specific trainers instead (#205, #286)
- All
DataModules
have been moved fromtorchgeo.datasets
totorchgeo.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:
- Chesapeake CVPR prior labels (#202)
- ETCI 2021 (#234)
- EuroSAT (#246)
- FAIR1M (#232)
- LoveDA (#270)
- NASA Marine Debris (#269)
- OSCD (#255, #257, #341)
- Potsdam 2D (#247)
- Vaihingen 2D (#248)
- xView2 (#236)
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
andUnionDataset
classes (#144) GeoDataset
andBoundingBox
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:
- FAIR1M (#232)
- IDTReeS (#201)
- LoveDA (#270)
- NASA Marine Debris (#269)
- OSCD (#233, #254, #258)
- Potsdam 2D (#247)
- SpaceNet 5 (#263)
- SpaceNet 7 (#241)
- Vaihingen 2D (#248)
- xView2 (#236)
Most existing datasets now have a plot
method:
- ADVANCE (#264)
- Benin Small Holder Cashews (#264)
- BigEarthNet (#264)
- COWC (#300)
- CV4A Kenya Crop Type (#312)
- Cyclone (#298)
- ETCI 2021 (#234)
- EuroSAT (#251)
- GID15 (#288)
- LandCover.ai (#251)
- LEVIR-CD+ (#335)
- PatternNet (#314)
- RESISC45 (#251)
- SeCo (#251)
- SEN12MS (#320, #338)
- So2Sat (#251)
- SpaceNet (#252, #311)
- UCMerced (#251)
- Zueri Crop (#334)
Losses
This release adds a new torchgeo.losses
namespace for loss functions common in or exclusive to geospatial data.
Models
Samplers
Trainers
- Trainers now plot samples during validation for supported datamodules (#286)
- Dataset-specific trainers have been removed (#286)
Transforms
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
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
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:
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: