annotate deep/stacked_dae/v_sylvain/nist_byclass_error.py @ 501:5927432d8b8d

-
author Yoshua Bengio <bengioy@iro.umontreal.ca>
date Tue, 01 Jun 2010 12:28:05 -0400
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