Mercurial > pylearn
diff doc/v2_planning/plugin_RP_GD.py @ 1259:6f76ecef869e
a few changes
author | Razvan Pascanu <r.pascanu@gmail.com> |
---|---|
date | Fri, 24 Sep 2010 14:10:05 -0400 |
parents | c88db30f4e08 |
children |
line wrap: on
line diff
--- a/doc/v2_planning/plugin_RP_GD.py Fri Sep 24 13:59:47 2010 -0400 +++ b/doc/v2_planning/plugin_RP_GD.py Fri Sep 24 14:10:05 2010 -0400 @@ -9,7 +9,8 @@ 4. We have defined two basic types of events: 4.1 scheduler events: these are emitted by the scheduler itself. For now we have defined: scheduler.begin() : sent at the very beginning of scheduler execution - scheduler.end() : sent when the scheduler ends + scheduler.end() : sent when the scheduler ends ( this makes sense since there is + at least from the user perspective a hierarchy of schedulars) 4.2 plugin generate events: plugins act as iterators and generate 2 basic events, plugin.next() : sent of every "iteration". Each plugin is free to define what an iteration actually means. @@ -31,7 +32,7 @@ that it would probably be included in the library somewhere. """ - def __init__(self, name, next_count, end_count): + def __init__(self, name, end_count, next_count = 1): """ :param name: name of the event we are counting (could be useful for debugging) :param next_count: number of iterations before triggering a "next" event @@ -63,6 +64,18 @@ The fixed_epoch_trainer meta-plugin takes care of training a given model, for a fixed number of epochs and then saving the resulting model. + + Other arguments for having meta-plugin : + * they can define a semantically separable block of code + * they are what the library provides 99% of the code ( so you can define a certain + template of connecting plugins as a meta-plugin and ship it without worry of things) + * they can be breaked apart by the main schedular ( so you would not have "different" + schedulars running in the same time; is just one schedular, this way of constructing + things is just to improve understanding and intuitions of the syste + * they help pushing all the complexity over the backbone of the library ( i.e. the + schedular ) + * all plugins registered inside a hyper-plugin are active only when the hyper-plugin is + active; In this sense they can help definining scopes ( as for variables ) - optional """ # we start by defining our own private scheduler sched = Scheduler()