* 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>
* add plot method and data.py
* typo missed period
* forgot data.py
* Remove abc, add versionchanged
* Update esri2020.py
* fixed test and requested changes
* Add uncompressed data file
* add test coverage
Co-authored-by: Caleb Robinson <calebrob6@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@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>
* added triband normalized difference index to support indices e.g. Green-Blue NDVI
added triband normalized difference index base class to support indices e.g. Green-Blue NDVI
* Formatted
* formatted the comments
* formatted
* Update indices.py
* Update indices.py
* formatted
* formatted
* formatted
* formatted
* formatted
* frmtted
* formatted the init
* added test cases
* removed probelematic code
* formatted
* formatted
* formatted
* plot method to base chesapeake
* fix typo
* Add plotting to Chesapeake datasets
* isort, yousort, weallsort
* putting back the globs
* putting back the geo.py change
Co-authored-by: Caleb Robinson <calebrob6@gmail.com>
* fix forced int32 type conversion
* add fix for numpy dtypes which are not supported by tensors
* delete whitespace
* Adding custom data to test the dtype transform
* Fixed formatting
Co-authored-by: Caleb Robinson <calebrob6@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>
* Fix regex to work with Sentinel-2 Band8A
Regex was only finding numerical bands (e.g. Band 01, 02, ..., 10, 12), but not Band 8A.
* Update test_sentinel to include Band 8A
* Simplify regex
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@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>
* Update indices.py
Added MNDWI to support modification of normalised difference water index (NDWI) to enhance open water features in remotely sensed imagery.
* Update indices.py
* Update indices.py
* Update indices.py
Added a new Index Soil Water Index
* Update indices.py
Style error fixed
* Update indices.py
* SWI addition
* Update indices.py
* Update indices.py
* Update indices.py
* Update indices.py
Changed the comment to fit in the code accordingly
* Update indices.py
modified
* Update indices.py
corrected the citation
* Update indices.py
* Ubuntu CUDA 11.3 docker for torchgeo
* Update Dockerfile_ubuntu_1804_cuda_11_3_cudnn_8_torchgeo
* Delete Dockerfile_ubuntu_1804_cuda_11_3_cudnn_8_torchgeo
* Added Dockerfile
Added Dockerfile
* deleted docker due to wrong issue number
* Added GNDVI Index
Added GNDVI Index
* corrected docstring
* updated refernce index to doi
* Added Triband Normalized Indexes
* Update indices.py
Saved
* Updated GNDVI
* Delete transforms.ipynb
deleting
* Added the notebook changes
* Delete transforms.ipynb
* Added the notebook changes
* Added the spaces
* Update indices.py
* formatting corrected
* Running black
* Reset transforms
* Clean up docstrings
* Adding tests and adding to list of transforms exported by the module
* Consistency
Co-authored-by: Caleb Robinson <calebrob6@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 compute index helper function + refactor
* Generalize all indices to one function
* Refactor indices to one module
* Fix init imports
* Add docstrings
* Fix transform test
* update to inherit from parent index class
* add nbr index
* forgot self in method
* mypy and dim fixes
* update expected tensor in test
* Update indices.py
* Black
* Update indices.py
* Black again
Co-authored-by: isaaccorley <22203655+isaaccorley@users.noreply.github.com>
Co-authored-by: Caleb Robinson <calebrob6@gmail.com>
* updated zuericrop test data and adds data.py script
* updates per suggestions
* Guard file removal with file existence check
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* 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>
* Add plotting method for CV4A Kenya Crop Type Dataset
* remove print statements, still fix test_plot
* fix rgb plot test
* fix rgb plot test
* requested changes
* Adding plot to ADVANCE dataset
* Adding plot to BeninSmallHolderCashews
* Adding plot to BigEarthNet
* Doctstring adjustment for BigEarthNet plot
* Cleaning up ugly test
* Cleaning up bigearthnet classes
* Added time step plot to benin_cashews
* Formatting
* Update benin cashew tests
* Add S1 plotting and type to np.ndarray
* Trying numpy with quotes
* 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>
* plotting method cowc dataset
* boolean label for detection
* restructure plotting method
* typo
* label title not as variable
* single plot method in super class
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
* OSCD: adding configuration file
* add OSCDDataModule
* some changes
* Works, it's training
* some edits
* not required
* Get rid of swap
* Padding in val and test
* don't ignore zeros
* 0.56 IoU
* 0.59 Iou
* 0.6 IoU
* make this the same
* oscd change
* fix tests
* black fix
* change defaults
* Null weights
* null
* use Kornia PadTo
* remove name from config + fix val dataloader
* padto class attribute
Co-authored-by: Caleb Robinson <calebrob6@gmail.com>
* Fixing network call in test of pretrained resnet
* Enable loading a pretrained model from a local path
* Fix filename
* monkeypatch the load_state_dict_from_url method instead of going around it
* Make default configs use random weights instead of imagenet pre-trained weights
* Removing internet access requirement from tests
* Deleted So2Sat trainer
* 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>
* OSCDDataModule: add random crop augmentation
* typing: use sequence instead of tuple
* use RandomCrop
* Use kornia instead
* add description of crop_size
* Only RandomCrop train and val set, not test set
* black fix
* working random_crops
* Resizing dummy test data to 3x3 so we can test RandomCrop Augmentations
* assert crops are proper size
* not working yet but some progress
* issue with amount of slices
* forgot to set val and test batch_size to 1
* some style fixes
* setting the dataset.transforms attribute doesn't work unless you do it in __init__ for now val_dataset must have random crop
* nevermind we don't need this
* style fixes + do we need mask to be torch.long?
* einops
* unsure why this doesn't work
* dataset.transforms
* mypy fix
* hacky flake8 fix
* non-hacky flake8 fix
* mypy fix
* adjust val test size
* passing tests
* mypy fix
* adding n_random_crops
* adjust param in testing
* working collate_fn but breaks mypy
* flattening (2, 13) into 26
* fix mypy
* style fixes
* add testing for new shapes
* Adjusting DataModule docstring
* remove clamp since we are standardizing
* name change to train_batch_size
* splitting crop-size into patch_size and num_patches_per_tile
* Add plot function for SpaceNet datasets
* Add version string
* Set interpolation='none' while displaying mask
* Switch to percentile normalization
* Add axis param to percentile_normalization
* Tuple[int, int] -> Sequence[int]
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update docstring
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Forgot to import Sequence
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>
* 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>
* Removing some keys from the defaults that were removed in Lightning 1.5
* Adding RESISC45
* Experimenting with different LR decay
* Formatting
* Updating RESISC45 test data to be the same size as the original data
* RESISC45 trainer and tests
* Fix import, add deprecation
* mypy fixes
Co-authored-by: Adam J. Stewart <ajstewart426@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
* adds split files, new classes, and refactors to speed up loading
* update bigearthnetdatamodule and tests
* update configs
* merge
* force add split files
* fix docstring
* fix docstrings x2
* fix docstrings x3
* Reduce total testing time
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Adding support for VGG models in the classification task
Refactoring the logic for replacing the first conv layer in a network
* Fix formatting
* Testing the stuff
* mypy with torch is such a waste of time
* Update torchgeo/trainers/utils.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update torchgeo/trainers/utils.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Adding timm dependency
* Incorporate timm into ClassificationTask
* Fix tests?
* Formatting
* Allow for overriding stride and padding in `reinit_initial_conv_layer`
* Putting back some stuff I accidentally overwrote in the rebase
* Bug
* Format
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* add additional bigearthnet test data for train/val/test split
* update bigearthnet dataset length test
* add MultiLabelClassificationTask
* add BigEarthNet trainer and datamodule
* add bigearthnet and multilabelclassificationtask tests
* mypy and format
* add estimated band min/max values for normalization
* softmax outputs to correctly compute metrics
* update min/max stats for 100k samples
* organize imports in torchgeo.trainers.__init__.py
* clean up fixtures in test_tasks.py
* added bigearthnet to train.py
* format
* move fixtures into class methods
* consolidate bigearthnet fixtures
* refactor tasks tests
* add scope=class
* style/mypy fixes
* mypy fixes
* Increase coverage of trainers
* Actually make the tests work
* Updated Cyclone trainer
* Style fix in cyclone tests
* Fixing landcoverai trainer
* Moving mock log to utils
* Fixing the RESISC45 trainer and related
* Skip RESISC45 trainer tests if Windows
* Removing some stupid docstrings from the RESISC45 trainer
* Adding So2Sat trainer tests
* isort
* Adding RESISC45 test data
* Use os.path.join for paths
* Remove unused import
* Add tests for ChesapeakeCVPR trainer
* mypy fixes
* Fix most Chesapeake tests
* Fixed test batching issue in the test dataset
* Get 100% coverage of Chesapeake trainer
* use a FakeTrainer instead of pl.Trainer
* Add naive BYOL trainer tests
* Style fixes
* Add 100% test coverage for BYOL trainer
* Get 100% coverage for LandCover.ai trainer
* Simplify tests
* Add tests for NAIP + Chesapeake trainer
* Fix tests
* Add tests for checkpoint loading
* Reorganize fixtures and specify scope
* Fix various test bugs
* Mypy fixes
* Reduce patch sizes
* Test fewer possible combinations of params
* Prevent warnings in tests
* Restore missing line of coverage in So2Sat trainer
* Silence resampling warning
* Ignore difference in output classes
Co-authored-by: Caleb Robinson <calebrob6@gmail.com>
* 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
* add RESISC45 trainer
* update working locally
* Adding ability to choose the random split sizes via config
* If you don't have a val or test split, then return the train split so the Trainer doesn't break by default. If you actually want to train without val/test though, then you should set the appropriate Trainer args.
* RESISC experiments
* Reverting accidental changes
* mypy fix
* add dataset_split unit tests
* Document dataset_split
Co-authored-by: Caleb Robinson <calebrob6@gmail.com>
* Added RCF model
* Rename to RCF
* Update tests/models/test_rcf.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Added support for training on different splits to Chesapeake trainer
* Fixed test script
* Specifying test splits in the test script
* Removing useless prepare_data function from SEN12MS trainer
* Updating LandCoverAI trainer to reflect Chesapeake trainer changes
* Remove verbose in Chesapeake trainer
* Remove adamw in conf files
* Black
* Added experiment run script
* Add augmentation to the landcoverai trainer
* Add augmentation to the landcoverai trainer
* Adding So2Sat trainer
* Fixing style
* Adding So2Sat trainer
* Adding So2Sat trainer
* Adding to so2sat
* Fixing tests
* Add kornia dependency
* Test coverage for GridGeoSampler length
* Added tests for so2sat
* Cleaning up
* Isort
* Adding capability to reindex So2Sat
* Renaming gpu to device
* Setting up so2sat trainer for paper experiments
* So2Sat training sweep
* Idontsort
* Call trainer.tune() step if auto_lr_find is set
* So2Sat trainer work
* Adding SSL method (#162)
* Added support for training on different splits to Chesapeake trainer
* Fixed test script
* Specifying test splits in the test script
* Removing useless prepare_data function from SEN12MS trainer
* Updating LandCoverAI trainer to reflect Chesapeake trainer changes
* Remove verbose in Chesapeake trainer
* Remove adamw in conf files
* Black
* Added experiment run script
* Add augmentation to the landcoverai trainer
* Add augmentation to the landcoverai trainer
* Adding So2Sat trainer
* Fixing style
* Adding So2Sat trainer
* starting SSL trainers
* starting SSL trainers
* Adding BYOL as SSL method, it is fully functional and works for any encoder, next steps includes adding other SSL aproaches like Seasonal Contrast and SSL evaluation at large
* Adding BYOL as SSL method, it is fully functional and works for any encoder, next steps includes adding other SSL aproaches like Seasonal Contrast and SSL evaluation at large
* Making pydocstyle happy
Co-authored-by: Anthony O <anthony.ortiz@microsoft.com>
* Working on experiments
* Updates to So2Sat
* Experiments
* Experiments
* Review changes
* Review changes
* Grabbing the kornia mypy workaround
* updating BYOL to support resnet 50 and updating some docstring
* updating BYOL to support resnet 50 and updating some docstring
* addressing flake8 concerns
* trying to address mypy issues
* mypy
* mypy
* mypy
* adding byol documentation corrections
* Updating byol default and moving experiment scripts to experiments subdir
* Setting up experiment scripts
* Working
* Moving landcoverai seed experiment script
* Fixing formatting in the experiment scripts
* Update torchgeo/trainers/so2sat.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update torchgeo/trainers/so2sat.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update torchgeo/trainers/byol.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update torchgeo/trainers/byol.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update torchgeo/trainers/byol.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update torchgeo/trainers/byol.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update torchgeo/trainers/byol.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update torchgeo/trainers/byol.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update torchgeo/trainers/byol.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update torchgeo/trainers/byol.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Black formatting
* Reorganizing and documenting BYOL code
* Formatting
* BYOL trainer is not Chesapeake specific
* Updating docstrings
* changing to input_channels uniformly
* Fixing BYOL
* Formatting fixes
* Update experiments/run_landcoverai_experiments.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update experiments/run_landcoverai_experiments.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update experiments/run_landcoverai_experiments.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update torchgeo/trainers/byol.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Docstring changes
* Docstring fixes
* Black formatting
* Forward slashes have been judiciously eliminated and I threw in some comments for free
* flake8
* flake8
Co-authored-by: Anthony O <anthony.ortiz@microsoft.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* 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>
* add FarSeg model
* Revised.
* Ran black and working on mypy fixes
* Fixed other mypy issues
* try to fix mypy issues
* Fixing rest of mypy issues
* try to fix mypy issues
* Fixed issue with in_channels and backbone_pretrained
* Removing change to in_channels, formatting doc
* revised.
- improving the docstring of FarSeg
- removing the scale_aware_proj option in FSRelation class
- removing the in_channels option in FarSeg class
- improving the test_farseg.py by parametrization
* changestar
* removing the function `backbone_forward`
* update ChangeStar
* update changestar
* fixed a typo in docstring
* fixing mypy, pytest, sphinx issues
* revised.
major:
- removing unused import
- split the testing case
- removing the redundant docstring
* fixing mypy and sphinx issues
major:
- adding more description for docstring of ChangeStar
* fixing mypy and sphinx issues
* fixing mypy and sphinx issues
* fixing mypy issues
* Update torchgeo/models/changestar.py
Co-authored-by: isaac <22203655+isaaccorley@users.noreply.github.com>
* Update torchgeo/models/changestar.py
Co-authored-by: isaac <22203655+isaaccorley@users.noreply.github.com>
* revised.
* fixing flake8 issues
* fixing mypy issues.
- replacing Tensor with Any, because a list of tensor as value stored in dictionary.
* update ChangeStar
* fixing mypy issues
* fixing mypy issues
* fixing mypy issues
* Adding more docstring about how to use ChangeStar for multi-class change detection
* Adding missing test cases
* revised.
- replacing Dict[str, Any] with Dict[str, Tensor]
Co-authored-by: Caleb Robinson <calebrob6@gmail.com>
Co-authored-by: isaac <22203655+isaaccorley@users.noreply.github.com>
* add FarSeg model
* Revised.
* Ran black and working on mypy fixes
* Fixed other mypy issues
* try to fix mypy issues
* Fixing rest of mypy issues
* try to fix mypy issues
* Fixed issue with in_channels and backbone_pretrained
* Removing change to in_channels, formatting doc
* revised.
- improving the docstring of FarSeg
- removing the scale_aware_proj option in FSRelation class
- removing the in_channels option in FarSeg class
- improving the test_farseg.py by parametrization
* removing the function `backbone_forward`
* Various improvements
Co-authored-by: Caleb Robinson <calebrob6@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Proposal: better handling of partial timestamps
* Parse format string directly
* Add unit tests
* Windows is broken
* Windows is still broken
* Fix mypy
* Simplify logic
* Fix bug for month 12, add details to docstring
* 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>
* Add Chesapeake Dataset
* Update to use GeoDataset base class
* Implement index, getitem, plot
* Add unit tests
* Fix Windows tests
* Remove extent and bbox
* 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>