* consolidate callbacks and hooks
* ensure callbacks recieve proper arg types
* remove model from init callback events
* clean up early stopping event
* update changelog
* remove on_fit_start and on_fit_end
* fix args for on_init_start and on_init_end
* handle case where early stopping is not used
* show all callback methods
* wrap checkpoint callback logic into proper class
* fix check for main process in checkpoint callback
* move callbacks test to separate file
* refactor arg checks
* get model and call hook on same line
* define trainer_options dict in one call
* add more asserts to callback test
* Add callback system + associated test
* Add trainer and pl_module args to callback methods
* typing
* typo in docstring
* Switch to on_.*_start()
* fix on_test_start
* fix the mess after rebasing
* added get dataloaders directly using a getter
* deleted decorator
* added prepare_data hook
* refactored dataloader init
* refactored dataloader init
* added dataloader reset flag and main loop
* added dataloader reset flag and main loop
* added dataloader reset flag and main loop
* made changes
* made changes
* made changes
* made changes
* made changes
* made changes
* made changes
* made changes
* made changes
* made changes
* made changes
* made changes
* made changes
* made changes
* made changes
* made changes
* made changes
* made changes
* made changes
* made changes
* made changes
* made changes
* made changes
* made changes
* made changes
* made changes
* made changes
* made changes
* made changes
* made changes
* made changes
* made changes
* made changes
* made changes
* made changes
* made changes
* made changes
* made changes
* made changes
* made changes
* made changes
* made changes
* made changes
* made changes
* made changes
* made changes
* fixed bad loaders
* fixed bad loaders
* fixed bad loaders
* fixed bad loaders
* fixed bad loaders
* fixed bad loaders
* fixed bad loaders
* fixed bad loaders
* fixed bad loaders
* fixed error in .fit with loaders
* fixed error in .fit with loaders
* fixed error in .fit with loaders
* fixed error in .fit with loaders
* fixed error in .fit with loaders
* fixed error in .fit with loaders
* fixed error in .fit with loaders
* fixed error in .fit with loaders
* fixed error in .fit with loaders
* fixed error in .fit with loaders
* fixed error in .fit with loaders
* fixed error in .fit with loaders
* fixed error in .fit with loaders
* fixes#909
* fixes#909
* bug fix
* Fixes#902
* typehints for trainer
fix type links in docs
fix types in docs
type hints for trainer methods
fix fit docs
switch to comments
readability
added sphinx typehints extension
wip
remove typehints from docstring
more type annotations
fix spaces
* Update trainer.py
Co-authored-by: William Falcon <waf2107@columbia.edu>
* new way of passing dataloaders
* fixed docs
* fixed codestyle to follow flake8
* allow val/test be list of dataloaders and smarter checking
* added test
* fix flake error
* fix linking to new test model
* split into multiple test
* fix naming and typo
* minor documentation changes
* remove random file
* Update trainer.py
* Update trainer.py
* Update trainer.py
* Update trainer.py
* Update trainer.py
* Update trainer.py
* better error/warning message
* final adjustments
* update CHANGELOG.md
Co-authored-by: William Falcon <waf2107@columbia.edu>
* Added max number of steps in Trainer
* Added docstring
* Fix flake8 errors
* Clarified docstrings
* Fixed flake8 error
* Added min_steps to Trainer
* Added steps and epochs test
* flake8
* minor fix
* fix steps test in test_trainer
* Split steps test into 2 tests
* Refactor steps test
* Update test_trainer.py
* Minor in test_trainer.py
* Update test_trainer.py
* Address PR comments
* Minor
Co-authored-by: William Falcon <waf2107@columbia.edu>
* added tpu docs
* added tpu flags
* add tpu docs + init training call
* amp
* amp
* amp
* amp
* optimizer step
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* fix test pkg create (#873)
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added test return and print
* added test return and print
* added test return and print
* added test return and print
* added test return and print
* Update pytorch_lightning/trainer/trainer.py
Co-Authored-By: Luis Capelo <luiscape@gmail.com>
* Fix segmentation example (#876)
* removed torchvision model and added custom model
* minor fix
* Fixed relative imports issue
* Fix/typo (#880)
* Update greetings.yml
* Update greetings.yml
* Changelog (#869)
* Create CHANGELOG.md
* Update CHANGELOG.md
* Update CHANGELOG.md
* Update PULL_REQUEST_TEMPLATE.md
* Update PULL_REQUEST_TEMPLATE.md
* Add PR links to Version 0.6.0 in CHANGELOG.md
* Add PR links for Unreleased in CHANGELOG.md
* Update PULL_REQUEST_TEMPLATE.md
* Fixing Function Signatures (#871)
* added tpu docs
* added tpu flags
* add tpu docs + init training call
* amp
* amp
* amp
* amp
* optimizer step
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added auto data transfer to TPU
* added test return and print
* added test return and print
* added test return and print
* added test return and print
* added test return and print
* added test return and print
* added test return and print
* added test return and print
Co-authored-by: Jirka Borovec <Borda@users.noreply.github.com>
Co-authored-by: Luis Capelo <luiscape@gmail.com>
Co-authored-by: Akshay Kulkarni <akshayk.vnit@gmail.com>
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
Co-authored-by: Shikhar Chauhan <xssChauhan@users.noreply.github.com>
* added outline of all features
* updated common use cases doc
* updated common use cases doc
* updated common use cases doc
* updated common use cases doc
* updated common use cases doc
* updated common use cases doc
* updated common use cases doc
* updated common use cases doc
* updated common use cases doc
* updated common use cases doc
* updated common use cases doc
* updated common use cases doc
* updated common use cases doc
* updated docs
* initial implementation
* formatting, pass through profiler, docstring
* call profiler during training
* add initial tests
* report stats when training is done
* fix formatting
* error handling, bugfix in passthroughprofiler
* finish documenting profiler arg in Trainer
* relax required precision for profiling tests
* option to dump cProfiler results to text file
* use logging, format with black
* include profiler in docs
* improved logging and better docs
* appease the linter
* better summaries, wrapper for iterables
* fix typo
* allow profiler=True creation
* more documentation
* add tests for advanced profiler
* Update trainer.py
* make profilers accessible in pl.utilities
* reorg profiler files
* change import for profiler tests
Co-authored-by: William Falcon <waf2107@columbia.edu>
* remove unnecessary pass statements
* use isinstance for type checks
* remove unnecessary else/elif after return
* remove unnecessary return statements
* move doc string to top
* merge isinstance calls
* remove unnecessary else/elif after raise
* use list comprehension
* do not use len without comparison
* add missing shebang
* revert isinstance check back to type
broke tests, because bool is actually subclass of int
* add missing period to doc string
* remove unnecessary pass statements
* use isinstance for type checks
* remove unnecessary else/elif after return
* remove unnecessary return statements
* move doc string to top
* merge isinstance calls
* remove unnecessary else/elif after raise
* use list comprehension
* do not use len without comparison
* add missing shebang
* revert isinstance check back to type
broke tests, because bool is actually subclass of int
* add missing period to doc string
* Fix default ckpt path when logger exists (#771)
* rename logging -> loggers (#767)
* move logging >> loggers
* add warning
* fix tests
* logging alias
* formatting
* formatting
* use isinstance for type checks
* revert isinstance check back to type
broke tests, because bool is actually subclass of int
* add more detail to tbptt example (#755)
* add more detail to tbptt example
* warn user about new arg in training_step
Co-authored-by: Vadim Bereznyuk <kuynzereb@gmail.com>
Co-authored-by: Jirka Borovec <Borda@users.noreply.github.com>
Co-authored-by: Jeremy Jordan <13970565+jeremyjordan@users.noreply.github.com>
* use tqdm.auto in trainer
This will import the ipywidgets version of tqdm if available. This works nicely in notebooks by not filling up the log.
In the terminal it will use the same old tqdm.
We might also want to consider passing in the tqdm we want as an argument since there may be some edge cases where ipywidgets is available but the interface doesn't support it (e.g. vscode?) or isn't working. In which case people will get a warning message, but may want to configure it themselves.
* use `from tqdm.auto` in eval loop
* indents
* updated gitignore
* updated gitignore
* updated links in ninja file
* updated docs
* finished callbacks
* finished callbacks
* finished callbacks
* fixed left menu
* added callbacks to menu
* added direct links to docs
* added direct links to docs
* added direct links to docs
* added direct links to docs
* added direct links to docs
* added direct links to docs
* updated gitignore
* updated links in ninja file
* updated docs
* finished callbacks
* finished callbacks
* finished callbacks
* fixed left menu
* added callbacks to menu
* added direct links to docs
* added direct links to docs
* added direct links to docs
* added direct links to docs
* added direct links to docs
* added direct links to docs
* finished rebase
* making private members
* making private members
* making private members
* working on trainer docs
* working on trainer docs
* working on trainer docs
* working on trainer docs
* working on trainer docs
* working on trainer docs
* set auto dp if no backend
* working on trainer docs
* working on trainer docs
* working on trainer docs
* working on trainer docs
* working on trainer docs
* working on trainer docs
* working on trainer docs
* working on trainer docs
* fixed lightning import
* cleared spaces
* cleared spaces
* cleared spaces
* cleared spaces
* cleared spaces
* cleared spaces
* cleared spaces
* cleared spaces
* cleared spaces
* cleared spaces
* finished lightning module
* finished lightning module
* finished lightning module
* finished lightning module
* added callbacks
* added loggers
* added loggers
* added loggers
* added loggers
* added loggers
* added loggers
* added loggers
* added loggers
* set auto dp if no backend
* added loggers
* added loggers
* added loggers
* added loggers
* added loggers
* added loggers
* flake 8
* flake 8
* fix docs path
* updated gitignore
* updated gitignore
* updated links in ninja file
* updated docs
* finished callbacks
* finished callbacks
* finished callbacks
* fixed left menu
* added callbacks to menu
* added direct links to docs
* added direct links to docs
* added direct links to docs
* added direct links to docs
* added direct links to docs
* added direct links to docs
* updated gitignore
* updated docs
* finished callbacks
* finished callbacks
* finished callbacks
* fixed left menu
* added callbacks to menu
* added direct links to docs
* added direct links to docs
* added direct links to docs
* added direct links to docs
* added direct links to docs
* added direct links to docs
* finished rebase
* making private members
* making private members
* making private members
* working on trainer docs
* working on trainer docs
* working on trainer docs
* working on trainer docs
* working on trainer docs
* working on trainer docs
* set auto dp if no backend
* working on trainer docs
* working on trainer docs
* working on trainer docs
* working on trainer docs
* working on trainer docs
* working on trainer docs
* working on trainer docs
* fixed lightning import
* cleared spaces
* cleared spaces
* cleared spaces
* cleared spaces
* cleared spaces
* finished lightning module
* finished lightning module
* finished lightning module
* finished lightning module
* added callbacks
* added loggers
* added loggers
* added loggers
* added loggers
* added loggers
* added loggers
* added loggers
* added loggers
* added loggers
* added loggers
* added loggers
* flake 8
* flake 8
* fix docs path
* flake 8
* Update theme_variables.jinja
* updated gitignore
* Update README.md
* updated gitignore
* updated links in ninja file
* updated docs
* Update README.md
* Update README.md
* finished callbacks
* finished callbacks
* finished callbacks
* fixed left menu
* added callbacks to menu
* added direct links to docs
* added direct links to docs
* added direct links to docs
* added direct links to docs
* added direct links to docs
* fixing TensorBoard (#687)
* flake8
* fix typo
* fix tensorboardlogger
drop test_tube dependence
* formatting
* fix tensorboard & tests
* upgrade Tensorboard
* test formatting separately
* try to fix JIT issue
* add tests for 1.4
* added direct links to docs
* updated gitignore
* updated links in ninja file
* updated docs
* finished callbacks
* finished callbacks
* finished callbacks
* fixed left menu
* added callbacks to menu
* added direct links to docs
* added direct links to docs
* added direct links to docs
* added direct links to docs
* added direct links to docs
* added direct links to docs
* finished rebase
* making private members
* making private members
* making private members
* working on trainer docs
* working on trainer docs
* working on trainer docs
* working on trainer docs
* working on trainer docs
* working on trainer docs
* set auto dp if no backend
* working on trainer docs
* working on trainer docs
* working on trainer docs
* working on trainer docs
* working on trainer docs
* working on trainer docs
* working on trainer docs
* working on trainer docs
* fixed lightning import
* cleared spaces
* cleared spaces
* cleared spaces
* cleared spaces
* cleared spaces
* cleared spaces
* cleared spaces
* cleared spaces
* cleared spaces
* cleared spaces
* finished lightning module
* finished lightning module
* finished lightning module
* finished lightning module
* added callbacks
* added loggers
* added loggers
* added loggers
* added loggers
* added loggers
* added loggers
* added loggers
* added loggers
* set auto dp if no backend
* added loggers
* added loggers
* added loggers
* added loggers
* added loggers
* added loggers
* flake 8
* flake 8
Co-authored-by: Jirka Borovec <Borda@users.noreply.github.com>
* Renamed `on_sanity_check_start` to `on_train_start` and added `on_train_end` to `ModelHooks`
* changed tests to use `on_train_start` instead of `on_sanity_check_start`