Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR implements mini-epochs (multiple rounds of validation per full traversal of the training data) in Train.py.
I have found that running with
--mini_epochs 5
slightly improves the accuracy of the resulting model, since models at intermediate stages of an epoch may be better than those at the end of an epoch. If no--mini_epochs
parameter is provided, training should be the same as currently.To facilitate this change, training batch generation has been reimplemented as a
keras.utils.Sequence
class, since this has anon_epoch_end
method that can be used to count miniepochs and only shuffle when a full epoch has been completed. This code is based on theSequenceBatcher
implemented in Medaka.