* Add benchmark dataset table
* Add geospatial datasets
* Work on Data table (#478)
* added to data table
* add links
* fix docs
* Added section for implementing new datasets to the Contributing page
* Removing extra file
* Add EDDMapS and GBIF rows to generic
* Formatting
* Renaming to make sense
* Short names
* Fixes
* Checking references
* Trying links
* Figured out links
* Removing hyphens for empty cells as these are rendered as bullet points
* Update docs/api/non_geo_datasets.csv
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update docs/api/non_geo_datasets.csv
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update docs/api/non_geo_datasets.csv
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update docs/api/non_geo_datasets.csv
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update docs/user/contributing.rst
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update docs/api/geo_datasets.csv
* Update geo_datasets.csv
* Update geo_datasets.csv
* Update contributing.rst
* Formatting
* Fix table links
Co-authored-by: Nils Lehmann <35272119+nilsleh@users.noreply.github.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* populate index attempt
* added tests
* correct plot method
* fix test
* fix documentation
* fix docs
* name changes
* lazy import pandas and Any instead of Tensor
* requested changes
* mypy fixes
* Close plot filehandles
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Add AGB live woody density dataset
* add credit
* Update docs/api/datasets.rst
* Update torchgeo/datasets/agb_live_woody_density.py
* Update torchgeo/datasets/agb_live_woody_density.py
* Update docs/api/datasets.rst
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* regex
* Update torchgeo/datasets/agb_live_woody_density.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Remove unused import
* Adding indents to regex
* move extract
* Close plot filehandles
Co-authored-by: Caleb Robinson <calebrob6@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Adding dataset from MOSAIKS paper
* Name change
* implementing NAIPTileIndex in USAVars
* lookup_point works
* usavars: adding extract + verify
* USAVars: add md5
* initial _load_files function
* adding plotting
* formatting
* add description
* black fix
* flake8 fix
* pydocstyle fix
* mypy fix
* add DS to docs
* black fix
* fake dataset
* add transforms arg
* initial tests
* fix black flake8 isort
* fix black flake8
* fix black
* fix mypy
* test fixes
* testing something
* it finds zip but not csv
* fake csv files didn't get added
* pandas docs fix
* forgot to take out here
* need to add in functions
* round plot labels
* Small edits
* remove Unnamed column
* zipfile change
* i think this solves codecov?
* there needs to be a test
* codecov
* bring back UAR!
* remove intermediate directory
* fix flake8
* No more iteration in load_files
* dont' use Any
* check if all csv files exist
* Add docstring to init
* use index col = ID
* labels in as list
* adjust to only 3 labels + adjust tests
* citation
* remove testing file
* no need to rename zipfile
* adding data.py to test data + adjusting tests
* formatting fixes
* style fix
* docstring
* Docstring
* Fixing docstring
* docstring for labels
* Adding all csv files to data + checking for all 7 labels instead of just 3
* docstrings
* docstring
* ensure labels are valid
* pydocstyle fix
* cast to list
* remove typos
* Requested changes
Co-authored-by: Caleb Robinson <calebrob6@gmail.com>
* dataset file no test
* add test and data.py
* Update eudem.py
* requested changes
* Update torchgeo/datasets/eudem.py
* Apply suggestions from code review
* rST fix
Co-authored-by: Caleb Robinson <calebrob6@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* remove FCEF model, refactor FCSiamConc and FCSiamDiff to inherit from smp.Unet
* style fixes update tests
* mypy and docstring fixes
* more mypy fixes and add tests
* remove test args
* fix tests
* add smp to intersphinx mapping
* update model DOI
* add the right docs this time
* Removing type ignores
* Testing sphinx fix
* Added parts of SMP to nitpicky ignore
* Fixing docs
Co-authored-by: Caleb Robinson <calebrob6@gmail.com>
* Adding Esri 2020 dataset
* long url string
* requested changes
* Add period at end of sentence
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* 0.2.0 release
* Fix notebooks
* Fix minimal dependency tests
* Fix integration tests
* Fix integration tests
* Try to avoid running GitHub Actions twice on release PRs
* Revert "Try to avoid running GitHub Actions twice on release PRs"
This reverts commit a1ac7ab4cf.
* GeoDatasets use intersection, not addition
* Adding stack_samples to benchmarks
* Fix zero division error in SEN12MS tests
* Replaces test models with dummy models (#344)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* lc values must be < num_classes
* updated indices tutorial with latest indices
Co-authored-by: Caleb Robinson <calebrob6@gmail.com>
Co-authored-by: isaaccorley <22203655+isaaccorley@users.noreply.github.com>
* Remove dataset-specific trainers
* Collation functions will be new in 0.2.0
* Clarify arg docstring
* Style fixes
* Remove files forgotten in rebase
* Fix bug in unbind_samples, add tests
* Fix bugs in datamodule augmentations
* Increase coverage for datamodules
* Fix bugs in logger plotting, properly test
* Fix tests
* Increase coverage of trainers
* Use datamodule plot instead of dataset plot
* Skip datamodules without tests
* Plot predictions
* Fix ClassificationTask tests
* Fix SemanticSegmentationTask tests
* EAFP -> LBYL
* Ensure that tensors are on the CPU before plotting
* Add type hints for numpy
* np.int -> int
* Fix np.int_ usage
* int -> np.int_
* Sequence[int]
* Add link to numpy docs
* Fix type hint in rgb_to_mask
* Update potsdam and vaihingen masks to uint8
* Fixing draw_semantic_segmentation_masks
* Fixing draw_semantic_segmentation_masks
* Unrelated doc spacing fix
* Formatting
* Revert update to kenya crop type dataset
Co-authored-by: Caleb Robinson <calebrob6@gmail.com>
* adding QR loss functions for learning on the prior
* chesapake learn on prior trainer with self-contained code for visualization
* adding prior dataset to the chesapeake datasets; doesn't handle downloading or anything like that yet
* updating init files to include chesapeake CVPR prior
* adding FCNModified for learning on the prior
* changing input to samplers to pass dataset instead of dataset.index
* fixing style issues
* Removing FCN_modified
* Fixing super call and mypy in FCN model
* Added learning on the prior extension
* Update tests
* Formatting
* Adding QR loss
* Added losses to docs
* Removing trainer, moving datamodule
* Combining chesapeake and chesapeake prior datamodules
* Formatting
* Test coverage
* Formatting
* Adding losses
* Re-moving the datamodules around
* Make loss function a torch Module
* Version added
* Fixed some stuff that got messed up in the rebase
* Formatting
* How'd this get there?
* Change qr losses to expect probabilities instead of log-probabilities
* Clean up test
* Rename qr loss file
* Renamed test file
Co-authored-by: Caleb Robinson <calebrob6@gmail.com>
* Add custom RasterDataset notebook
* Update docs index.rst
* Update copyright, fix URL typo, and add verbose description
* Add xview3 sample data
* Update notebook
* Show simple example first, complicated example second
* Remove the second half of the notebook, can expand later
* initial commit, adding LoveDA dataset
* recommended changes by ashnair1
* corrections from pydocstyle linter
* List[str]
* plotting method added
* linting test changes
* passing test for plotting
* linting adjustments
* smaller fake data of 2x2 and mypy linter changes
* plot only single image and mypy changes
* plot method without expecting batch dimension
* style changes and adding doc
* added lightning data module
* sphinx changes
* doc string changes
* data module in init and fake data for module test
* add IDTReeS dataset
* dataset loads data now
* add optional laspy and pandas dependencies
* fixed docs failing
* format
* refactor verify and resample chm/hsi to 200x200
* add open3d optional dep
* overhaul
* temporarily remove open3d install bc their pypi is broken
* mypy fixes
* fixes per suggestions
* general cleanup
* test passing
* add min version for laspy and pandas
* add open3d dependency
* add open3d to mypy tests
* add hard install for python 3.9 open3d to actions
* attempt #2
* I think I got it now
* updated tests.yaml
* make open3d dep require python<3.9
* open3d has issues with macos python 3.6
* same for 3.7
* skip open3d plot test for macos
* formatting
* skip open3d plot test for windows
* update per suggestions
* update test data readme for las files
* updated per suggestions
* more changes per suggestions
* last change per suggestion
* Grammar fix in pandas dep requirement comment
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Adding a UnionDataset
* Adding contains method to BoundingBox
* Finishing UnionDataset
* Add __contains__ method
* Overhaul BoundingBox, add set arithmetic
* mypy fixes
* pydocstyle fixes
* Ignore erroneous pydocstyle warnings
* rtree only supports tuples, not BoundingBoxes
* mypy fixes
* Use custom collate function to handle BoundingBoxes
* Add back support for Python 3.6
* Add tests for all new BoundingBox features
* Rename ZipDataset to IntersectionDataset
* Merge indices of IntersectionDataset, auto-convert CRS/res
* Get tests to pass
* Fix more tests
* Test more of RasterDataset/VectorDataset directly
* Increase UnionDataset test coverage
* IntersectionDataset stacks tensors, UnionDataset merges tensors
* Support collating dicts with differing keys, add tests
* Style fixes
* Samplers: compute intersection between index and ROI
* Update README with example usage
* GeoDataset addition is deprecated
* Add note about CRS/res
* More documentation for Intersection/UnionDatasets
* Use collate function in tutorial
* Don't use multiple workers
* Fix typo
* Drop support for adding GeoDatasets
* Remove unused import
* Add comment explaining coverage config settings
* Collation function needed for benchmark script
* Add more explanation to README
* Correct Landsat 8 bands
* Print warning when changing CRS/res
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Implementing OSCDDataModule
* some progress + style fixes
* Adding temporary min/max values for B10 band which isn't in BigEarthNet for some reason
* adding validation split
* fixing pydocstyle fails
* fixing style issues
* OSCDDataModule testing + added to torchgeo.datasets.__init__
* more concise + robust to small val_pct
* nevermind, mypy doesn't like that because of types
* adding to docs
* adding actual means and stds calculated on entire dataset
* use clamp instead of clip
* fix
* initialize norm after last band_mean edit
* OSCD: initial template
* updating download pattern
* package: including OSCD in torchgeo.datasets
* download: adapting download method to OSCD dataset + adding simple test for debugging
* _load_files method: temporary implementation
* OCSD: minimum working example, needs plenty improvement
* adding OSCD to docs
* Moving test to appropriate location
* OSCD: remove sort_bands and use utils.sort_sentinel2_bands
* Using rasterio instead of tifffile
* remove useless import
* style changes
* fix: style
* Developing tests for OSCD dataset
* Updating dataset description
* change name
* style fixes
* fixing mypy errors
* style fixes
* cast to string to fix typing errors
* style change
* isort fix
* remove TODO
* adding dataset for testing
* change len
* check if sum is concatdataset
* isort fix
* fixing some issues + correct md5 in dataset
* closing rasterio file handles
* removing some TODO's
* transitioning to fake data
* mypy fix attempt
* set fake data md5
* flake8 fix
* starting plot method
* updating plot method
* no predictions for now
* fixing style errors
* add testing for plot
* making some changes to fake testing data
* full coverage
* Use RGB channels in the plot function
* adding shape tests in test_getitem
* remove features and add to description
* fixing some things
* transitioning to authors dataset link
* No need to change file names + adapt test dataset
* adapting tests to new data format
* Update docs/api/datasets.rst
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* closing plot at end of terst
* add versionadded
* style fixes + indentation fixes
* style fixes
* forgot the .zip
* fix zipfile name
* temporary fix for flake8
* Add link to docs
* forgot to adjust this
* changing flake8 solve
* slimming down the test dataset
* removing imgs_x files which aren't needed for current testing but might be in the future
* Revert "removing imgs_x files which aren't needed for current testing but might be in the future"
This reverts commit cfbf26c1d3.
* nevermind, this was the issue
* trying to remove these once again
* adding band choosing functionality
* removing double code
* removing more double code
* flake8 fix
* adding one more training sample to dummy dataset and testing split
* typing numpy array
* back to this
* Fixing tests and mypy
Co-authored-by: Caleb Robinson <calebrob6@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* add potsdam dataset and tests
* add dummy potsdam data
* update potsdam docstring
* mypy fix
* style fixes
* Update datasets.rst
* update per suggestions
* updated docs
* refactor _load_target to use pillow
* format
* Update tests/datasets/test_potsdam.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update tests/datasets/test_potsdam.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update torchgeo/datasets/potsdam.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update torchgeo/datasets/potsdam.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update torchgeo/datasets/potsdam.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Caleb Robinson <calebrob6@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* tmp
* add vaihingen dataset
* add tests and dummy data
* style fixes
* remove tmp notebook
* update per suggestions
* updated docs and docstrings
* Update tests/datasets/test_vaihingen.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update tests/datasets/test_vaihingen.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update torchgeo/datasets/vaihingen.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update torchgeo/datasets/vaihingen.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Adding ETCI2021 datamodule and trainer
* Fixing confs
* Update torchgeo/datasets/etci2021.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update torchgeo/trainers/etci2021.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update conf.py
* Reverting trainer init
* plot method
* Update ETCI2021 test data
* Test trainer
* Fix train.py
* Fix test
* Adding matplotlib intersphinx
* Remove ignore
* Revert "Update ETCI2021 test data"
This reverts commit 502a3785e4.
* Remove stuff
* Reset
* Add plot tests
* Unzipping test data
* Test datamodule
* Add datamodule to docs
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* VisionClassificationDataset: fix Sphinx base class mapping
* Import ImageFolder directly from where it is documented
* Override ImageFolder.__module__
* 0.1.0 release
* Train deps needed for release testing
* Update development status
* setup.py should not be run directly
* Test more trainers
* Fix local docs build
* Update installation instructions
* Specify test data dir in config
* Fix tutorial docs
* Trainers should default to num_workers=0, download=False
* Correct location for root_dir
* Try different GDAL name
* Try again
* Various fixes to release tests
* Update pip installs in tutorials
* Fix some bugs
* Config file not being picked up
* Get back to 100% test coverage
* Added correct weight string to UCMerced
* yolo fix
* yolo fix pt 2
* yolo fix 2 pt. 1
* Simplify tests a bit
* Make the trainer notebook look stupid
* UCMerced should download by default in the trainers
* Revert
* Fix logo/author, include LICENSE in upload
Co-authored-by: Caleb Robinson <calebrob6@gmail.com>
* Adding the SeCo patch datasets
* Adding tests and incorporating suggestions
* Added benchmark example code link
* Update to new way of downloading
* Formatting
* Test coverage
* Rename dataset
* Add SeCo dataset to docs
* Improve sampler performance for pixel-aligned files
* Skip merge if only a single file
* Undo changes to hyperparams
* Fix shape, read all bands
* Remove manual single-file reading
* Always keep workers alive
* Various changes in a desperate attempt to improve performance
* Increase epoch size
* Add missing import, fix model name
* Fix tests
* Persistent workers not used unless entire dataset is consumed
* draft indices transform
* import sort
* added AugmentationSequential wrapper for dicts
* updated indices
* fix dim concat bugs
* format
* add kornia dependency
* add augmentationsequenal unit tests
* add augmentationsequential support for boxes and mask dtypes
* add indices tests
* Draft indices tutorial notebook
* move notebook to tutorials folder
* mypy fixes
* fix bug when only image key used in AugmentationSequential
* Created using Colaboratory
* added tutorial to docs
* format
* added kornia master branch dependency'
* refactor notebook to use % cell magic and python to download files
* revert kornia version
* install kornia master branch for mypy checks
* update mypy github action install order
* fix divide by zero error in indices
* Created using Colaboratory
* fix nbsphinx errors
* add TODO to remove kornia in tests action
* format setup.cfg
* minor fixes to indices
* remove unecessary variable
* update mask to cast to original dtype
* removed unused ignore comment
* added gray/rgb/multispectral unit tests
* added tests with boxes
* Created using Colaboratory
* Created using Colaboratory
* fix mypy issues
* updated notebooks in docs
* Updates to tutorials
* Created using Colaboratory
* Created using Colaboratory
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* updated docs
* added VisionClassificationDataset
* refactor PatternNet and RESISC45 to inherit VisionClassificationDataset
* added unit tests and sample data
* refactor PatternNet and RESISC45 to new download/verify checks and fix code coverage
* remove override of __str__
* set default_loader as loader default
* removed loader arg from datasets
* update tests
* format
* remove duplicate code
* updated docstrings
* Added EuroSat dataset
* Cleaning up
* Removing unzipped data
* Added to docs
* EuroSat --> EuroSAT to match paper
* Changing class listing to use bullets
* Update torchgeo/datasets/eurosat.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Addressing review
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Reduce number of files listing deps
* Install cython before anything else
* Fix missing deps before install
* Fix typo in setup.cfg extra option
* Add Read the Docs config file
* nbmake only used for testing docs, not building docs
* Implemented way to test if ChesapeakeCVPR has been downloaded
* Cleaned up the way transforms are used in ChesapeakeCVPRDataModule and changed the test dataloader to use a GridGeoSampler
* Adding other transforms and cleaning up style
* Changing masks to mask throughout
* Organize the way metrics are logged
* Formatting
* Adding rasterio data loadering best practices and fixing trainer a bit
* Script for evaluating trained models over all states
* Forgot to update the MD5 after changing the dataset nodata masks
* Update test_chesapeakecvpr_models.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Changes recommended by Adam
* Idon'tsort
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Add Spacenet 1
* Add test data
* Style fixes
* Convert Spacenet1 to VisionDataset
* Add option for selecting imagery
* Consolidate spacenet
* Create single spacenet.py for all spacenet datasets
* Create single spacenet directory for all spacenet test data
* Create single test_spacenet.py for testing all spacenet datasets
* Add copyright
* Reorder Spacenet in docs
* Test both rgb & 8band
* Rename Spacenet -> SpaceNet
* add dataset to docs
* add sample test data
* add dataset unit tests
* add etci2021 dataset
* updated tests
* updated dataset to download only desired split file
* removed flood mask from file list for test set and other formatting
* Update torchgeo/datasets/etci2021.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* fixed doc formatting
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Moving task specific configuration logic from train.py into respective classes
* Small fixes
* Adding basic FCN model for benchmarking
* Adding simple FCN model
* Removing OrderedDict from model definitions
* Adding torchgeo.models to docs
* Adding model tests
* Making all the formatters happy
* Adding optimizer options to landcoverai
* Fixing conda environment I think
* How do you feel about a Makefile, Adam?
* Formatting
* Adding some documentation to the readme
* Sanity check command in README
* Fixes in the landcoverai datamodule to make multi-GPU training possible
* Closing figures that we send to Tensorboard
* Fix sphinx missing target warning
* Fix pytest coverage
* Fix flake8
* Update torchgeo/models/__init__.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Initial commit of lightning based model training framework
* Made save directories work correctly
* Add pytorch-lightning dependency and some comments
* More documentation and cosmetic tweaks
* Typo fix
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Fix some style issues
* Fix pydocstyle
* Add missing sklearn dependency
* Try to get conda environment working
* Add documentation
* Ignore missing target reference
* Make train.py executable
* Ignore logs and output dirs
* Raise exceptions instead of returning
* Move all argparse stuff to set_up_parser
* Add tests for train.py
* Fix Python 3.6 compatibility
* Fix support for older versions of pytorch-lightning
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>