Mercurial > ift6266
annotate deep/stacked_dae/v_sylvain/nist_byclass_error.py @ 612:21d53fd07f6e
reviews AISTATS
author | Yoshua Bengio <bengioy@iro.umontreal.ca> |
---|---|
date | Mon, 20 Dec 2010 11:54:35 -0500 |
parents | 9fb893d039c6 |
children |
rev | line source |
---|---|
398
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
1 #!/usr/bin/python |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
2 # coding: utf-8 |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
3 |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
4 import ift6266 |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
5 import pylearn |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
6 |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
7 import numpy |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
8 import theano |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
9 import time |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
10 |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
11 import pylearn.version |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
12 import theano.tensor as T |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
13 from theano.tensor.shared_randomstreams import RandomStreams |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
14 |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
15 import copy |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
16 import sys |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
17 import os |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
18 import os.path |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
19 |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
20 from jobman import DD |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
21 import jobman, jobman.sql |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
22 from pylearn.io import filetensor |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
23 |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
24 from utils import produit_cartesien_jobs |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
25 from copy import copy |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
26 |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
27 from sgd_optimization import SdaSgdOptimizer |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
28 |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
29 #from ift6266.utils.scalar_series import * |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
30 from ift6266.utils.seriestables import * |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
31 import tables |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
32 |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
33 from ift6266 import datasets |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
34 from config import * |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
35 |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
36 ''' |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
37 Function called by jobman upon launching each job |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
38 Its path is the one given when inserting jobs: see EXPERIMENT_PATH |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
39 ''' |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
40 def jobman_entrypoint(state, channel): |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
41 # record mercurial versions of each package |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
42 pylearn.version.record_versions(state,[theano,ift6266,pylearn]) |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
43 # TODO: remove this, bad for number of simultaneous requests on DB |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
44 channel.save() |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
45 |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
46 # For test runs, we don't want to use the whole dataset so |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
47 # reduce it to fewer elements if asked to. |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
48 rtt = None |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
49 if state.has_key('reduce_train_to'): |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
50 rtt = state['reduce_train_to'] |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
51 elif REDUCE_TRAIN_TO: |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
52 rtt = REDUCE_TRAIN_TO |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
53 |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
54 n_ins = 32*32 |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
55 n_outs = 62 # 10 digits, 26*2 (lower, capitals) |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
56 |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
57 examples_per_epoch = NIST_ALL_TRAIN_SIZE |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
58 |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
59 PATH = '' |
446
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
60 NIST_BY_CLASS=0 |
398
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
61 |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
62 |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
63 |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
64 print "Creating optimizer with state, ", state |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
65 |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
66 optimizer = SdaSgdOptimizer(dataset=datasets.nist_all(), |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
67 hyperparameters=state, \ |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
68 n_ins=n_ins, n_outs=n_outs,\ |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
69 examples_per_epoch=examples_per_epoch, \ |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
70 max_minibatches=rtt) |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
71 |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
72 |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
73 |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
74 |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
75 |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
76 if os.path.exists(PATH+'params_finetune_NIST.txt'): |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
77 print ('\n finetune = NIST ') |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
78 optimizer.reload_parameters(PATH+'params_finetune_NIST.txt') |
446
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
79 if NIST_BY_CLASS == 1: |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
80 print "NIST DIGITS" |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
81 optimizer.training_error(datasets.nist_digits(),part=2) |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
82 print "NIST LOWER CASE" |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
83 optimizer.training_error(datasets.nist_lower(),part=2) |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
84 print "NIST UPPER CASE" |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
85 optimizer.training_error(datasets.nist_upper(),part=2) |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
86 else: |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
87 print "P07 valid" |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
88 optimizer.training_error(datasets.nist_P07(),part=1) |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
89 print "PNIST valid" |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
90 optimizer.training_error(datasets.PNIST07(),part=1) |
398
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
91 |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
92 |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
93 if os.path.exists(PATH+'params_finetune_P07.txt'): |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
94 print ('\n finetune = P07 ') |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
95 optimizer.reload_parameters(PATH+'params_finetune_P07.txt') |
446
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
96 if NIST_BY_CLASS == 1: |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
97 print "NIST DIGITS" |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
98 optimizer.training_error(datasets.nist_digits(),part=2) |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
99 print "NIST LOWER CASE" |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
100 optimizer.training_error(datasets.nist_lower(),part=2) |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
101 print "NIST UPPER CASE" |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
102 optimizer.training_error(datasets.nist_upper(),part=2) |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
103 else: |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
104 print "P07 valid" |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
105 optimizer.training_error(datasets.nist_P07(),part=1) |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
106 print "PNIST valid" |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
107 optimizer.training_error(datasets.PNIST07(),part=1) |
398
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
108 |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
109 |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
110 if os.path.exists(PATH+'params_finetune_NIST_then_P07.txt'): |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
111 print ('\n finetune = NIST then P07') |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
112 optimizer.reload_parameters(PATH+'params_finetune_NIST_then_P07.txt') |
446
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
113 if NIST_BY_CLASS == 1: |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
114 print "NIST DIGITS" |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
115 optimizer.training_error(datasets.nist_digits(),part=2) |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
116 print "NIST LOWER CASE" |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
117 optimizer.training_error(datasets.nist_lower(),part=2) |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
118 print "NIST UPPER CASE" |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
119 optimizer.training_error(datasets.nist_upper(),part=2) |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
120 else: |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
121 print "P07 valid" |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
122 optimizer.training_error(datasets.nist_P07(),part=1) |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
123 print "PNIST valid" |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
124 optimizer.training_error(datasets.PNIST07(),part=1) |
398
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
125 |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
126 if os.path.exists(PATH+'params_finetune_P07_then_NIST.txt'): |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
127 print ('\n finetune = P07 then NIST') |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
128 optimizer.reload_parameters(PATH+'params_finetune_P07_then_NIST.txt') |
446
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
129 if NIST_BY_CLASS == 1: |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
130 print "NIST DIGITS" |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
131 optimizer.training_error(datasets.nist_digits(),part=2) |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
132 print "NIST LOWER CASE" |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
133 optimizer.training_error(datasets.nist_lower(),part=2) |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
134 print "NIST UPPER CASE" |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
135 optimizer.training_error(datasets.nist_upper(),part=2) |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
136 else: |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
137 print "P07 valid" |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
138 optimizer.training_error(datasets.nist_P07(),part=1) |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
139 print "PNIST valid" |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
140 optimizer.training_error(datasets.PNIST07(),part=1) |
398
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
141 |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
142 if os.path.exists(PATH+'params_finetune_PNIST07.txt'): |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
143 print ('\n finetune = PNIST07') |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
144 optimizer.reload_parameters(PATH+'params_finetune_PNIST07.txt') |
446
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
145 if NIST_BY_CLASS == 1: |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
146 print "NIST DIGITS" |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
147 optimizer.training_error(datasets.nist_digits(),part=2) |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
148 print "NIST LOWER CASE" |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
149 optimizer.training_error(datasets.nist_lower(),part=2) |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
150 print "NIST UPPER CASE" |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
151 optimizer.training_error(datasets.nist_upper(),part=2) |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
152 else: |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
153 print "P07 valid" |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
154 optimizer.training_error(datasets.nist_P07(),part=1) |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
155 print "PNIST valid" |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
156 optimizer.training_error(datasets.PNIST07(),part=1) |
398
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
157 |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
158 if os.path.exists(PATH+'params_finetune_PNIST07_then_NIST.txt'): |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
159 print ('\n finetune = PNIST07 then NIST') |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
160 optimizer.reload_parameters(PATH+'params_finetune_PNIST07_then_NIST.txt') |
446
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
161 if NIST_BY_CLASS == 1: |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
162 print "NIST DIGITS" |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
163 optimizer.training_error(datasets.nist_digits(),part=2) |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
164 print "NIST LOWER CASE" |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
165 optimizer.training_error(datasets.nist_lower(),part=2) |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
166 print "NIST UPPER CASE" |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
167 optimizer.training_error(datasets.nist_upper(),part=2) |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
168 else: |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
169 print "P07 valid" |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
170 optimizer.training_error(datasets.nist_P07(),part=1) |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
171 print "PNIST valid" |
9fb893d039c6
Ajout de fonctionnalite pour calculer les erreurs de validation avec PNIST et P07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
398
diff
changeset
|
172 optimizer.training_error(datasets.PNIST07(),part=1) |
398
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
173 |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
174 channel.save() |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
175 |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
176 return channel.COMPLETE |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
177 |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
178 |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
179 |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
180 if __name__ == '__main__': |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
181 |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
182 |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
183 chanmock = DD({'COMPLETE':0,'save':(lambda:None)}) |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
184 jobman_entrypoint(DD(DEFAULT_HP_NIST), chanmock) |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
185 |
eb42bed0c13b
Sert pour calculer les erreurs de test sur les differentes parties de NIST pour un modele donne
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
186 |