annotate deep/stacked_dae/v_sylvain/nist_byclass_error.py @ 439:5ca2936f2062

Bug fix in per-class a priori error : should be lower than before for both upper and lower
author Guillaume Sicard <guitch21@gmail.com>
date Mon, 03 May 2010 09:42:36 -0400
parents eb42bed0c13b
children 9fb893d039c6
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 = ''
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
60
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 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
64
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 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
66 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
67 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
68 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
69 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
70
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 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
76 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
77 optimizer.reload_parameters(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
78 print "NIST DIGITS"
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
79 optimizer.training_error(datasets.nist_digits(),part=2)
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
80 print "NIST LOWER CASE"
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
81 optimizer.training_error(datasets.nist_lower(),part=2)
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
82 print "NIST UPPER CASE"
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
83 optimizer.training_error(datasets.nist_upper(),part=2)
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
84
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
85
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
86 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
87 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
88 optimizer.reload_parameters(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
89 print "NIST DIGITS"
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
90 optimizer.training_error(datasets.nist_digits(),part=2)
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 print "NIST LOWER CASE"
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 optimizer.training_error(datasets.nist_lower(),part=2)
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 print "NIST UPPER CASE"
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 optimizer.training_error(datasets.nist_upper(),part=2)
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
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
96
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
97 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
98 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
99 optimizer.reload_parameters(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
100 print "NIST DIGITS"
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
101 optimizer.training_error(datasets.nist_digits(),part=2)
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
102 print "NIST LOWER CASE"
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
103 optimizer.training_error(datasets.nist_lower(),part=2)
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
104 print "NIST UPPER CASE"
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
105 optimizer.training_error(datasets.nist_upper(),part=2)
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
106
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
107 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
108 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
109 optimizer.reload_parameters(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
110 print "NIST DIGITS"
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 optimizer.training_error(datasets.nist_digits(),part=2)
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 print "NIST LOWER CASE"
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
113 optimizer.training_error(datasets.nist_lower(),part=2)
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
114 print "NIST UPPER CASE"
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
115 optimizer.training_error(datasets.nist_upper(),part=2)
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
116
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
117 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
118 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
119 optimizer.reload_parameters(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
120 print "NIST DIGITS"
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
121 optimizer.training_error(datasets.nist_digits(),part=2)
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
122 print "NIST LOWER CASE"
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
123 optimizer.training_error(datasets.nist_lower(),part=2)
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
124 print "NIST UPPER CASE"
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 optimizer.training_error(datasets.nist_upper(),part=2)
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
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 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
128 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
129 optimizer.reload_parameters(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
130 print "NIST DIGITS"
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
131 optimizer.training_error(datasets.nist_digits(),part=2)
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
132 print "NIST LOWER CASE"
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
133 optimizer.training_error(datasets.nist_lower(),part=2)
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
134 print "NIST UPPER CASE"
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
135 optimizer.training_error(datasets.nist_upper(),part=2)
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
136
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
137 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
138
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
139 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
140
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
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 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
144
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
145
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
146 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
147 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
148
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
149