-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Description
We should discuss the interface of Task and what are the common/utility tasks we need to provide.
Definitions (to be added in a wiki)
-
Task: offers a way to perform some computation before/after training, before/after epochs and before/after updates. -
OccasionalTask: a task that will be trigger only once in a while. The constructor accepts two new parameters:each_update=Xandeach_epoch=Ywhere the task will be call eachXupdates andYepochs. -
View: computes one or multiple values (e.g. classification error on the validset). It also offers a way to cache computed values (reducing the overhead when called multiple times during the same update). -
StoppingCriterion: tells the trainer when to stop training (e.g.MaxEpoch,EarlyStopping, etc.)
Some questions
- Is the intended behaviour of a task clear enough?
- Should a task be always (each update/epoch) executed?
- Is
ItemGetterreally necessary or we should make more preciseTasks. Right now,ItemGetteris used to retrieve the viewsmeanandstderrorfrom the viewClassificationError. ShouldItemGetterreturns aViewthat can also be used (recursively) byItemGetter?
Suggestions
- Task to print a symbolic variable.
- Task to set a breakpoint (for debugging purpose).
- A task to track time (training, updating, etc...)
- A task to track statistic (average loss across the epoch, etc.)
Metadata
Metadata
Assignees
Labels
No labels