v0.2.0
FluxTraining v0.2.0
Added
- New training loop API that is easier to extend. Defining a
Phase
andstep!
is all you need. See the new tutorial and the new reference. - Added
CHANGELOG.md
(this file) AbstractValidationPhase
as supertype for validation phases- Documentation for callback helpers on reference page
Changed
Batch*
renamed toStep*
:- events:
BatchBegin
nowStepBegin
,BatchEnd
nowStepEnd
CancelBatchException
nowCancelStepException
.- field
Learner.batch
nowLearner.step
- events:
Learner.step/batch
is no longer a specialstruct
but now aPropDict
, allowing you to set arbitrary fields.Learner.model
can now be aNamedTuple/Tuple
of models for use in custom training loops. Likewise,learner.params
now resembles the structure oflearner.model
, allowing separate access to parameters of different models.- Callbacks
- Added
init!
method for callback initilization, replacing theInit
event which required aPhase
to implement. Scheduler
now has internal step counter and no longer relies onRecorder
's history. This makes it easier to replace the scheduler without needing to offset the new schedules.EarlyStopping
callback now uses criteria from EarlyStopping.jl
- Added
Removed
- Removed old training API. Methods
fitbatch!
,fitbatchphase!
,fitepoch!
,fitepochphase!
have all been removed.
Closed issues:
- Scheduler applies schedules per batch by default (#68)
Recorder
does not work with models with non-Array
inputs. (#80)
Merged pull requests:
- CompatHelper: bump compat for "BSON" to "0.3" (#69) (@github-actions[bot])
- use EarlyStopping.jl for stopping criteria (#72) (@lorenzoh)
- CompatHelper: bump compat for "PrettyTables" to "0.12" (#73) (@github-actions[bot])
- Move documentation to Pollen.jl (#77) (@lorenzoh)
- Revert
onecycle
(#78) (@lorenzoh) - Remove
samples
field fromHistory
(#81) (@lorenzoh) - New training API and QoL improvements (v0.2.0) (#83) (@lorenzoh)