Change Log
==========


0.1.9 (13/10/2020)
-----------------
* bug fix in StatsPrint - print round numbers


0.1.8 (12/10/2020)
-----------------
* Added KerasDecay scheduler
* Added KerasDecay usage example
* Better printing in StatsPrint callback when using multiple metrics


0.1.7 (11/10/2020)
-----------------
* Fixed bug in TrainerStats for dynamic batch size
* Added support for metric name as string in StatsPrint callback
* Fixed some descriptions
* Updated README


0.1.6 (10/10/2020)
-----------------
* Trainer - added save_trainer and load_trainer methods
* ModelCheckPoint - added the option to save the full trainer as checkpoint
* Minor bug fix in callback_monitor
* StatsPrint changing dict.keys() to set() to enable saving trainer
* Binary accuracy removed restrictions of ndim==1
* Added more seeds to seed_all and to seed_torch


0.1.5 (09/10/2020)
-----------------
* Added verbosity to SchedulerStep
* StatsPrint callback will now print learning rates for all param groups
* Added get_lrs_from_optimizer to torch_utils 
* Project PyPI setup fixes 


0.1.4 (08/10/2020)
-----------------
This release contains breaking changes:
* Renamed cb_phase to apply_on_phase 
* Renamed CallbackPhase to Phase, TrainerState to State
* Renamed Trainer.stop_training() to Trainer.stop(), so it also apply to testing
* Trainer now keeps track of iteration count and iteration_in_epoch count
* CallbackContext was expanded with iteration count and iteration_in_epoch count
* Calling Trainer.stop() from a callback will now stop even on a batch level (and not only epoch level)


0.1.3 (07/10/2020)
-----------------
* Bug fix in apply_on_states invocation of callbacks 


0.1.2 (07/10/2020)
-----------------
* Readme fix 


0.1.1 (07/10/2020)
-----------------
* Added TEST_BEGIN and TEST_END callbacks phases
* Added CallbackMonitor
* Added enums (lpd.enums) State, MonitorType, MonitorMode, StatsType


0.1.0 (05/10/2020)
-----------------
* Introduced Phase and State to control timing of callback invocation
* Added example of SchedulerStep every batch in train state
* Trainer support for native pytorch dataloader
* Added data loader example


0.0.9 (04/10/2020)
-----------------
* Added support for setting trainer's scheduler to None
* Added name property to trainer
* Added trainer's description
* Added last train/val/test loss objects
* Reduce package size by moving images to another repo 
* Added another example "Basic"
* If no metrics provided, EpochEndStats will print "no metrics found"
* Fixed trainer crash if no metric_name_to_func was provided
* Added seed_all to general_utils
* Added seed_torch to torch_utils
* Added readme about utils


0.0.8 (03/10/2020)
-----------------
* Added optional round_values_on_print_to to EpochEndStats and ModelCheckPoint callbacks
* Removed round_values_to from TrainerStats & Stats (it didnt made sense anyway)
* Removed print_round_values_to from trainer, its now on the callbacks themselves
* Updated readme


0.0.7 (03/10/2020)
-----------------
* Splited TrainerStats class into TrainerStats & Stats
* Can now easily call trainer.train_stats.get_loss() or trainer.val_stats.get_metrics()
* TrainerStats now has a reset() function
* Using configs in example 
* Code clean up and cosmetics


0.0.6 (02/10/2020)
-----------------
* Scheduler step as callback, support for step() with or without parameters


0.0.1 (01/10/2020)
-----------------
- First Release