Skip to content
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

Major refactoring of ModelTrainer #3182

Merged
merged 87 commits into from
Apr 14, 2023
Merged
Changes from 1 commit
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
cbb5d8f
first draft of plugin system for ModelTrainer's train function
plonerma Jan 13, 2023
5f968bd
Merge branch 'master' into pluggable_trainer
plonerma Jan 13, 2023
f5db922
Removed unused variable
plonerma Jan 13, 2023
0b3eaca
Minor improvements
plonerma Jan 13, 2023
091c6bb
Fixed handling of eval batch size
plonerma Jan 13, 2023
484e61a
Fixed issues with evaluation
plonerma Jan 13, 2023
e1b1bd6
Changed how the amp plugin works
plonerma Jan 31, 2023
79ed0e9
Merge branch 'master' into pluggable_trainer
plonerma Jan 31, 2023
38cd9e5
Fixed test for missing attribute
plonerma Jan 31, 2023
94bcafb
Merge branch 'master' into pluggable_trainer
plonerma Feb 15, 2023
e895aef
Split up BasicPerformancePlugin
plonerma Feb 17, 2023
3dd41d7
Compatibility with python3.7
plonerma Feb 17, 2023
83edc70
Removed unnecessary print statement
plonerma Feb 17, 2023
afb8f0a
Fixed compliance with black
plonerma Feb 17, 2023
cf92208
Fixed various implementation mistakes in the trainer plugins
plonerma Feb 20, 2023
cdadacb
Fixed issues with logging and resuming training
plonerma Feb 20, 2023
d2788b2
Formatted with isort & black
plonerma Feb 20, 2023
a2810b3
Fixed tensorboard plugin
plonerma Feb 20, 2023
2933e9c
Implemented batch loss logging
plonerma Feb 20, 2023
40b1813
Corrected global step calculation (first epoch is epoch==1)
plonerma Feb 21, 2023
813dd6e
Added MetricRecord to plugins.__init__
plonerma Feb 21, 2023
33e0af5
Merge branch 'master' into pluggable_trainer
plonerma Feb 21, 2023
ad617cf
Fixed missing **kw in training-behavior plugin
plonerma Feb 21, 2023
6752ef4
Improved TypeError message if hook callback does not accept a kw argu…
plonerma Feb 21, 2023
b12c111
Minor improvements in training behavior plugin
plonerma Feb 21, 2023
d119973
Improved error message on wrong hook callback return-type.
plonerma Feb 22, 2023
566ba1d
Fixed mistake in error message
plonerma Feb 22, 2023
c52224b
Improved error message
plonerma Feb 22, 2023
d9d59e0
Pass epoch to collecting_train_return_values hook (may be relevant fo…
plonerma Feb 23, 2023
667b9cd
Count total batches in plugin instead of calculating it (when trainin…
plonerma Feb 23, 2023
235c07e
Merge branch 'pluggable_trainer' of https://github.com/plonerma/flair…
alanakbik Mar 10, 2023
a1a09cb
Add comments
alanakbik Mar 12, 2023
ea46696
Add comments
alanakbik Mar 12, 2023
b81dc1a
Implemented wandb alerts
plonerma Mar 14, 2023
e103985
Merge branch 'pluggable_trainer' into pluggable_trainer_dev
plonerma Mar 14, 2023
0bd24f7
Removed conditional usage variables from amp, swa, and tensorboard lo…
plonerma Mar 14, 2023
3e961ae
Removed references to use-conditionals
plonerma Mar 14, 2023
8b6def8
Fixed amp plugin, updated default plugins
plonerma Mar 14, 2023
281d34b
Changed collection of return values
plonerma Mar 16, 2023
4bc92e8
Moved evaluation & basic logging to train function and deprecated dep…
plonerma Mar 21, 2023
22ac9fc
Fixed minor issues
plonerma Mar 21, 2023
640c694
Removed empty newline
plonerma Mar 22, 2023
98c8546
Improved handling of TypeErrors when invoking callbacks
plonerma Mar 22, 2023
a92619b
Merge pull request #3084 from plonerma/pluggable_trainer
alanakbik Mar 24, 2023
07a50dc
Update comments
alanakbik Mar 24, 2023
43de62b
Fix error in evaluation of test set during training
alanakbik Mar 24, 2023
9c7e505
Remove anneal_with_prestarts for simplicity
alanakbik Mar 24, 2023
a0de77b
First steps to make plugins more detached
alanakbik Mar 24, 2023
6ab40a6
Merge remote-tracking branch 'plonerma/pluggable_trainer' into plugga…
plonerma Mar 24, 2023
ffafa40
Fixed "not an optimizer issue"
plonerma Mar 24, 2023
f3fea32
Divide out LinearWarmup and AnnealOnPlateau schedulers
alanakbik Mar 24, 2023
e61ece6
Pluggable returns Trainer
alanakbik Mar 27, 2023
5330ecf
Refactor ModelTrainer and disentagle plugins
alanakbik Mar 31, 2023
fbcb1b3
More refactoring
alanakbik Apr 1, 2023
a58103b
More refactoring
alanakbik Apr 1, 2023
980b431
More refactoring
alanakbik Apr 1, 2023
2348f8c
More refactoring
alanakbik Apr 1, 2023
1f68efb
More refactoring
alanakbik Apr 1, 2023
b1bcc22
More refactoring
alanakbik Apr 1, 2023
b4b3f80
Merge
alanakbik Apr 2, 2023
af120d7
Further refactoring of plugin logic
alanakbik Apr 2, 2023
fb9f933
Adapt unit tests
alanakbik Apr 3, 2023
57e5b63
Remove ununsed imports
alanakbik Apr 3, 2023
6336af6
Add docstrings and other refactorings
alanakbik Apr 3, 2023
d6f7772
More refactorings
alanakbik Apr 3, 2023
ecd63db
More refactorings
alanakbik Apr 4, 2023
88c4baa
More refactorings
alanakbik Apr 4, 2023
075cf79
More informative outputs when initializing model training
alanakbik Apr 4, 2023
a930088
Correct loss file logging of F1 and accuracy
alanakbik Apr 4, 2023
312a52b
Correctly close logfile after training
alanakbik Apr 4, 2023
918e7d0
Correctly close logfile after training | remove option to anneal agai…
alanakbik Apr 4, 2023
907a791
Remove option to anneal against dev loss
alanakbik Apr 4, 2023
c25adce
Try more robust way of deleting logger
alanakbik Apr 4, 2023
c77c7cc
Log loading best epoch model
alanakbik Apr 4, 2023
d1e39fe
Do not include state dictionaries in model card
alanakbik Apr 5, 2023
33de205
Revert logger detach
alanakbik Apr 5, 2023
fedc156
Fix flake
alanakbik Apr 5, 2023
c5d8295
Fix flake
alanakbik Apr 5, 2023
50928db
Fixed resetting of the processing events flag (in the case of an exce…
plonerma Apr 6, 2023
cbb218d
Removed newline (for compliance with black)
plonerma Apr 6, 2023
c5fb639
Improve log output
alanakbik Apr 10, 2023
2356cb6
Improve log output
alanakbik Apr 10, 2023
d95dc1d
Small changes
alanakbik Apr 13, 2023
791a47e
Make backward method private
alanakbik Apr 13, 2023
2916ce0
Added two more events to train_custom
plonerma Apr 13, 2023
0a3def6
Removed deprecated event from available events in trainer
plonerma Apr 13, 2023
e09663c
Remove comment
alanakbik Apr 14, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Fixed missing **kw in training-behavior plugin
plonerma committed Feb 21, 2023

Verified

This commit was signed with the committer’s verified signature.
targos Michaël Zasso
commit ad617cf4a7d7233223fd7feb02efb07eaf28d689
2 changes: 1 addition & 1 deletion flair/trainers/plugins/metrics/basic.py
Original file line number Diff line number Diff line change
@@ -44,7 +44,7 @@ def before_training_epoch(self, epoch, **kw):
yield MetricRecord.scalar_list("momentum", momentum, epoch)

@TrainerPlugin.hook
def before_training_batch(self):
def before_training_batch(self, **kw):
self.batch_train_loss = 0.0
self.batch_train_samples = 0