Mercurial > pylearn
annotate doc/v2_planning/arch_FB.txt @ 1531:88f361283a19 tip
Fix url/name to pylearn2.
author | Frederic Bastien <nouiz@nouiz.org> |
---|---|
date | Mon, 09 Sep 2013 10:08:05 -0400 |
parents | e5b7a7913329 |
children |
rev | line source |
---|---|
1291
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
1 Current and extenstion of our framework |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
2 ======================================= |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
3 |
1292
abc7a7e22ead
added comparaison with other proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
1291
diff
changeset
|
4 This proposition is complementary to PL hook system and OB check point. This could be part of the backend of James system. I don't remember/know enought the other proposal. |
abc7a7e22ead
added comparaison with other proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
1291
diff
changeset
|
5 |
1291
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
6 Supposition I make: |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
7 |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
8 * Dataset, Learner and Layers commity have done their work |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
9 * That mean we have a more easy way to make a learning model. |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
10 * Checkpoint solved: we ignore(short jobs), don't care, manual checkpoint, structured checkpoint with an example or use OB system. |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
11 |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
12 Example MLP |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
13 ----------- |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
14 |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
15 * Select the hyper parameter search space with `jobman sqlschedules` |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
16 * Dispatch the jobs with dbidispatch |
1309 | 17 * *Manually* (fixable) reset jobs status to START. |
1291
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
18 * I started it, but I will change the syntax to make it more generic. |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
19 * *Manually* relaunch crashed jobs. |
1309 | 20 * *Manually* (fixable) analyse/visualise the result. (We need to start those meeting at some point) |
1291
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
21 |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
22 Example MLP+cross validataion |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
23 ----------------------------- |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
24 |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
25 * Modify the dataset interface to accept 2 new hyper parameter: nb_cross_fold=X, id_cross_fold. |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
26 * Schedule all of the fold to run in parallel with `jobman sqlschedules` |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
27 * *Manually* (fixable) reset jobs status to START. |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
28 * *Manually* relaunch crashed jobs. |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
29 * *Manually* (fixable) analyse/visualize the result. |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
30 * Those tools need to understand the concept of cross validation |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
31 * *Manually* (fixable with proposition bellow) launch a retrain on the full dataset with the best hyper parameter |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
32 |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
33 |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
34 Example DBN |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
35 ----------- |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
36 |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
37 * *Concept* JOB PHASE. DBN( unsupervised and supervised) |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
38 * We suppose the job script have a parameter to tell him witch phase it should do. |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
39 * *Jobman Extension* We can extend jobman to handle dependency between jobs. |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
40 * Proposed syntax: |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
41 |
1309 | 42 .. code-block:: bash |
1291
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
43 |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
44 jobman sqlschedule p0={{}} ... -- p1={{}} ... -- p2=... |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
45 |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
46 * The parameter before the first `--` tell on witch jobs the new jobs depends. (allow to depend on many jobs at the same time) |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
47 * The parameter between `--` tell that we want to create a new group of jobs for all those jobs. |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
48 * The parameter after the second `--` tell the new jobs to be create for each new group of jobs. |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
49 |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
50 * *Jobman Extension* create `jobman dispatch` |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
51 * This will dispatch new jobs to run on the cluster with dbidispatch when a jobs have his dependency finished. |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
52 * *Jobman Extension* create `jobman monitor` |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
53 * This repeadly call `jobman condor_check` to print jobs that can potentially have crashed and print them on the screen. It need to filter the output of condor_check. |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
54 * Can create other `jobman CLUSTER_check` for mammouth,colosse,angel,... |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
55 * *Jobman Extension* when we change the status of a job to START in jobman, change the status of the jobs that depend on it at the same time. |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
56 * *Jobman Extension* determine if a job finished correctly or not |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
57 * If a job did not finish correctly don't start the following jobs. |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
58 * *Jobman Policy* All change to the db should be doable by jobman command. |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
59 |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
60 * *Manually* relaunch crashed jobs. |
1309 | 61 * *Manually* (fixable) analyse/visualise the result. |
1291
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
62 * Those tools need to understand the concept of job phase or be agnostic of that. |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
63 |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
64 |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
65 * *Cross validataion retrain* can be done with an additional phase in the extensions. |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
66 * The new job need to know how to determine the best hyper parameter from the result. |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
67 |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
68 |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
69 * This can be extended for double cross validation. |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
70 * Dataset must support double cross validation |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
71 * We create more phase in jobman. |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
72 |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
73 Hyper parameter search in Pylearn |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
74 --------------------------------- |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
75 |
ea923a06dea6
added my architecture proposal.
Frederic Bastien <nouiz@nouiz.org>
parents:
diff
changeset
|
76 We would want to have the hyper parameter search being done in pylearn in some case. This will add a dependency on jobman. We can finish/verify how jobman work with sqlite to don't have request an installed db. sqlite is included in python 2.5. Jobman request python 2.5. We could make optional the jobman dependency on sqlalchemy when we use sqlite to limit the number of dependency. |