* Adding eval script
* Update evaluate.py
* New eval script
* resisc fix
* Factor out the task to datamodule mapping used by train.py and evaluate.py to the torchgeo namespace
* Add eurosat
* 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>
* 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>
* 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
* 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 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>
* 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>
* 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>