Mercurial > ift6266
annotate deep/stacked_dae/v_sylvain/train_error.py @ 612:21d53fd07f6e
reviews AISTATS
author | Yoshua Bengio <bengioy@iro.umontreal.ca> |
---|---|
date | Mon, 20 Dec 2010 11:54:35 -0500 |
parents | 66b05c6077c7 |
children |
rev | line source |
---|---|
326
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
1 #!/usr/bin/python |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
2 # coding: utf-8 |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
3 |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
4 import ift6266 |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
5 import pylearn |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
6 |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
7 import numpy |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
8 import theano |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
9 import time |
456
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
10 import math |
326
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
11 |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
12 import pylearn.version |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
13 import theano.tensor as T |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
14 from theano.tensor.shared_randomstreams import RandomStreams |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
15 |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
16 import copy |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
17 import sys |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
18 import os |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
19 import os.path |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
20 |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
21 from jobman import DD |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
22 import jobman, jobman.sql |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
23 from pylearn.io import filetensor |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
24 |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
25 from utils import produit_cartesien_jobs |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
26 from copy import copy |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
27 |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
28 from sgd_optimization import SdaSgdOptimizer |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
29 |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
30 #from ift6266.utils.scalar_series import * |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
31 from ift6266.utils.seriestables import * |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
32 import tables |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
33 |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
34 from ift6266 import datasets |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
35 from config import * |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
36 |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
37 ''' |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
38 Function called by jobman upon launching each job |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
39 Its path is the one given when inserting jobs: see EXPERIMENT_PATH |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
40 ''' |
456
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
41 def jobman_entrypoint(state, channel,set_choice): |
326
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
42 # record mercurial versions of each package |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
43 pylearn.version.record_versions(state,[theano,ift6266,pylearn]) |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
44 # TODO: remove this, bad for number of simultaneous requests on DB |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
45 channel.save() |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
46 |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
47 # For test runs, we don't want to use the whole dataset so |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
48 # reduce it to fewer elements if asked to. |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
49 rtt = None |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
50 if state.has_key('reduce_train_to'): |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
51 rtt = state['reduce_train_to'] |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
52 elif REDUCE_TRAIN_TO: |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
53 rtt = REDUCE_TRAIN_TO |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
54 |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
55 n_ins = 32*32 |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
56 n_outs = 62 # 10 digits, 26*2 (lower, capitals) |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
57 |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
58 examples_per_epoch = NIST_ALL_TRAIN_SIZE |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
59 |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
60 PATH = '' |
456
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
61 if set_choice == 0: |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
62 maximum_exemples=int(500000) #Maximum number of exemples seen |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
63 else: |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
64 maximum_exemples = int(1000000000) #an impossible number |
326
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
65 |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
66 |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
67 |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
68 print "Creating optimizer with state, ", state |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
69 |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
70 optimizer = SdaSgdOptimizer(dataset=datasets.nist_all(), |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
71 hyperparameters=state, \ |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
72 n_ins=n_ins, n_outs=n_outs,\ |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
73 examples_per_epoch=examples_per_epoch, \ |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
74 max_minibatches=rtt) |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
75 |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
76 |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
77 |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
78 |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
79 if os.path.exists(PATH+'params_finetune_NIST.txt'): |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
80 print ('\n finetune = NIST ') |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
81 optimizer.reload_parameters(PATH+'params_finetune_NIST.txt') |
456
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
82 print "For" + str(maximum_exemples) + "over the NIST set: " |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
83 optimizer.training_error(datasets.nist_all(maxsize=maximum_exemples),set_choice) |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
84 print "For" + str(maximum_exemples) + "over the P07 set: " |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
85 optimizer.training_error(datasets.nist_P07(maxsize=maximum_exemples),set_choice) |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
86 print "For" + str(maximum_exemples) + "over the PNIST07 set: " |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
87 optimizer.training_error(datasets.PNIST07(maxsize=maximum_exemples),set_choice) |
326
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
88 |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
89 |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
90 if os.path.exists(PATH+'params_finetune_P07.txt'): |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
91 print ('\n finetune = P07 ') |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
92 optimizer.reload_parameters(PATH+'params_finetune_P07.txt') |
456
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
93 print "For" + str(maximum_exemples) + "over the NIST set: " |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
94 optimizer.training_error(datasets.nist_all(maxsize=maximum_exemples),set_choice) |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
95 print "For" + str(maximum_exemples) + "over the P07 set: " |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
96 optimizer.training_error(datasets.nist_P07(maxsize=maximum_exemples),set_choice) |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
97 print "For" + str(maximum_exemples) + "over the PNIST07 set: " |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
98 optimizer.training_error(datasets.PNIST07(maxsize=maximum_exemples),set_choice) |
326
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
99 |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
100 |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
101 if os.path.exists(PATH+'params_finetune_NIST_then_P07.txt'): |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
102 print ('\n finetune = NIST then P07') |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
103 optimizer.reload_parameters(PATH+'params_finetune_NIST_then_P07.txt') |
456
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
104 print "For" + str(maximum_exemples) + "over the NIST set: " |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
105 optimizer.training_error(datasets.nist_all(maxsize=maximum_exemples),set_choice) |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
106 print "For" + str(maximum_exemples) + "over the P07 set: " |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
107 optimizer.training_error(datasets.nist_P07(maxsize=maximum_exemples),set_choice) |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
108 print "For" + str(maximum_exemples) + "over the PNIST07 set: " |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
109 optimizer.training_error(datasets.PNIST07(maxsize=maximum_exemples),set_choice) |
326
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
110 |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
111 if os.path.exists(PATH+'params_finetune_P07_then_NIST.txt'): |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
112 print ('\n finetune = P07 then NIST') |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
113 optimizer.reload_parameters(PATH+'params_finetune_P07_then_NIST.txt') |
456
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
114 print "For" + str(maximum_exemples) + "over the NIST set: " |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
115 optimizer.training_error(datasets.nist_all(maxsize=maximum_exemples),set_choice) |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
116 print "For" + str(maximum_exemples) + "over the P07 set: " |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
117 optimizer.training_error(datasets.nist_P07(maxsize=maximum_exemples),set_choice) |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
118 print "For" + str(maximum_exemples) + "over the PNIST07 set: " |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
119 optimizer.training_error(datasets.PNIST07(maxsize=maximum_exemples),set_choice) |
326
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
120 |
385
442fc117e886
Ajout de la faculte de prendre PNIST07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
326
diff
changeset
|
121 if os.path.exists(PATH+'params_finetune_PNIST07.txt'): |
442fc117e886
Ajout de la faculte de prendre PNIST07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
326
diff
changeset
|
122 print ('\n finetune = PNIST07') |
442fc117e886
Ajout de la faculte de prendre PNIST07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
326
diff
changeset
|
123 optimizer.reload_parameters(PATH+'params_finetune_PNIST07.txt') |
456
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
124 print "For" + str(maximum_exemples) + "over the NIST set: " |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
125 optimizer.training_error(datasets.nist_all(maxsize=maximum_exemples),set_choice) |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
126 print "For" + str(maximum_exemples) + "over the P07 set: " |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
127 optimizer.training_error(datasets.nist_P07(maxsize=maximum_exemples),set_choice) |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
128 print "For" + str(maximum_exemples) + "over the PNIST07 set: " |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
129 optimizer.training_error(datasets.PNIST07(maxsize=maximum_exemples),set_choice) |
388
0d97fead004f
Changement pour prendre en compte l'option finetune amelioree pour PNIST07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
385
diff
changeset
|
130 |
0d97fead004f
Changement pour prendre en compte l'option finetune amelioree pour PNIST07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
385
diff
changeset
|
131 if os.path.exists(PATH+'params_finetune_PNIST07_then_NIST.txt'): |
0d97fead004f
Changement pour prendre en compte l'option finetune amelioree pour PNIST07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
385
diff
changeset
|
132 print ('\n finetune = PNIST07 then NIST') |
0d97fead004f
Changement pour prendre en compte l'option finetune amelioree pour PNIST07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
385
diff
changeset
|
133 optimizer.reload_parameters(PATH+'params_finetune_PNIST07_then_NIST.txt') |
456
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
134 print "For" + str(maximum_exemples) + "over the NIST set: " |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
135 optimizer.training_error(datasets.nist_all(maxsize=maximum_exemples),set_choice) |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
136 print "For" + str(maximum_exemples) + "over the P07 set: " |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
137 optimizer.training_error(datasets.nist_P07(maxsize=maximum_exemples),set_choice) |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
138 print "For" + str(maximum_exemples) + "over the PNIST07 set: " |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
139 optimizer.training_error(datasets.PNIST07(maxsize=maximum_exemples),set_choice) |
385
442fc117e886
Ajout de la faculte de prendre PNIST07
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
326
diff
changeset
|
140 |
326
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
141 channel.save() |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
142 |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
143 return channel.COMPLETE |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
144 |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
145 |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
146 |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
147 if __name__ == '__main__': |
456
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
148 |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
149 args = sys.argv[1:] |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
150 |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
151 type = 0 |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
152 if len(args) > 0 and args[0] == 'train': |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
153 type = 0 |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
154 elif len(args) > 0 and args[0] == 'valid': |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
155 type = 1 |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
156 elif len(args) > 0 and args[0] == 'test': |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
157 type = 2 |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
158 |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
159 chanmock = DD({'COMPLETE':0,'save':(lambda:None)}) |
66b05c6077c7
Ajout d'option pour choisir l'ensemble de donnees (train/valid/test) ainsi que mettre NIST,P07 et PNIST pour tous les modeles testes
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
388
diff
changeset
|
160 jobman_entrypoint(DD(DEFAULT_HP_NIST), chanmock, type) |
326
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
161 |
b762ac18a2d7
Calcule l'erreur d'entrainement
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff
changeset
|
162 |