-
Notifications
You must be signed in to change notification settings - Fork 384
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add RESISC45 Trainer #179
Add RESISC45 Trainer #179
Conversation
e7840f8
to
65ad36e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is the last trainer I'm accepting without unit tests :)
I agree. I think we should merge this after I add unit tests for At some point we should refactor the trainers to inherit from base lightning module classes as well for classification and segmentation tasks since most of them are copy/paste so if you make a small change to one classification trainer task you generally have to do this to all other classification trainers. |
… 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.
a71fa87
to
0d4b089
Compare
Yeah, the trainers and experiment scripts are all almost identical. I thought the whole point of the trainers was to reduce code duplication lol. |
I did something similar in torchrs by making a base class for lightning modules and datamodules and then just inheriting. It made adding new trainers straightforward which I think should be the goal. |
I agree that we should go back and write unit tests for the existing trainers -- I'll open a PR with unit tests for one of them (unless Isaac beats me to it) and we can work from there |
See #109 as a good starting point. I got most of the way there. |
* 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>
RESISC45DataModule
,RESISC45ClassificationTask
torchgeo.datasets.utils.dataset_split
for creating train/val or train/val/test subsets of a dataset with no split provided beforehand.torchgeo.datasets.utils.dataset_split
Notes: