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

Re-think the notion of Task #8

Open
11 tasks
MarcCote opened this issue May 22, 2015 · 0 comments
Open
11 tasks

Re-think the notion of Task #8

MarcCote opened this issue May 22, 2015 · 0 comments

Comments

@MarcCote
Copy link
Member

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=X and each_epoch=Y where the task will be call each X updates and Y epochs.
  • 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 ItemGetter really necessary or we should make more precise Tasks. Right now, ItemGetter is used to retrieve the views mean and stderror from the view ClassificationError. Should ItemGetter returns a View that can also be used (recursively) by ItemGetter?

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.)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant