comparison deep/stacked_dae/v_sylvain/voir_erreurs.py @ 362:793e89fcdab7

programme pour voir les images ainsi que la prediction faite par le modele
author SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
date Thu, 22 Apr 2010 13:18:12 -0400
parents
children
comparison
equal deleted inserted replaced
361:b599886e3655 362:793e89fcdab7
1 #!/usr/bin/python
2 # coding: utf-8
3
4 import ift6266
5 import pylearn
6
7 import numpy
8 import theano
9 import time
10
11 import pylearn.version
12 import theano.tensor as T
13 from theano.tensor.shared_randomstreams import RandomStreams
14
15 import copy
16 import sys
17 import os
18 import os.path
19
20 from jobman import DD
21 import jobman, jobman.sql
22 from pylearn.io import filetensor
23
24 from utils import produit_cartesien_jobs
25 from copy import copy
26
27 from sgd_optimization import SdaSgdOptimizer
28
29 #from ift6266.utils.scalar_series import *
30 from ift6266.utils.seriestables import *
31 import tables
32
33 from ift6266 import datasets
34 from config import *
35
36 '''
37 Function called by jobman upon launching each job
38 Its path is the one given when inserting jobs: see EXPERIMENT_PATH
39 '''
40 def jobman_entrypoint(state, channel):
41 # record mercurial versions of each package
42 pylearn.version.record_versions(state,[theano,ift6266,pylearn])
43 # TODO: remove this, bad for number of simultaneous requests on DB
44 channel.save()
45
46 # For test runs, we don't want to use the whole dataset so
47 # reduce it to fewer elements if asked to.
48 rtt = None
49 if state.has_key('reduce_train_to'):
50 rtt = state['reduce_train_to']
51 elif REDUCE_TRAIN_TO:
52 rtt = REDUCE_TRAIN_TO
53
54 n_ins = 32*32
55 n_outs = 62 # 10 digits + 26*2 (lower, capitals)
56
57 examples_per_epoch = NIST_ALL_TRAIN_SIZE
58
59 PATH = PATH_P07
60 maximum_exemples=int(100) #Maximum number of exemples seen
61
62
63
64 print "Creating optimizer with state, ", state
65
66 optimizer = SdaSgdOptimizer(dataset=datasets.nist_all(),
67 hyperparameters=state, \
68 n_ins=n_ins, n_outs=n_outs,\
69 examples_per_epoch=examples_per_epoch, \
70 max_minibatches=rtt)
71
72
73
74
75 print 'The model is created'
76 if os.path.exists(PATH+'params_finetune_NIST.txt'):
77 print ('\n finetune = NIST ')
78 optimizer.reload_parameters(PATH+'params_finetune_NIST.txt')
79 print "For" + str(maximum_exemples) + "over the NIST test set: "
80 optimizer.see_error(datasets.nist_all(maxsize=maximum_exemples))
81
82
83 if os.path.exists(PATH+'params_finetune_P07.txt'):
84 print ('\n finetune = P07 ')
85 optimizer.reload_parameters(PATH+'params_finetune_P07.txt')
86 print "For" + str(maximum_exemples) + "over the P07 test set: "
87 optimizer.see_error(datasets.nist_P07(maxsize=maximum_exemples))
88
89
90 if os.path.exists(PATH+'params_finetune_NIST_then_P07.txt'):
91 print ('\n finetune = NIST then P07')
92 optimizer.reload_parameters(PATH+'params_finetune_NIST_then_P07.txt')
93 print "For" + str(maximum_exemples) + "over the NIST test set: "
94 optimizer.see_error(datasets.nist_all(maxsize=maximum_exemples))
95 print "For" + str(maximum_exemples) + "over the P07 test set: "
96 optimizer.see_error(datasets.nist_P07(maxsize=maximum_exemples))
97
98 if os.path.exists(PATH+'params_finetune_P07_then_NIST.txt'):
99 print ('\n finetune = P07 then NIST')
100 optimizer.reload_parameters(PATH+'params_finetune_P07_then_NIST.txt')
101 print "For" + str(maximum_exemples) + "over the P07 test set: "
102 optimizer.see_error(datasets.nist_P07(maxsize=maximum_exemples))
103 print "For" + str(maximum_exemples) + "over the NIST test set: "
104 optimizer.see_error(datasets.nist_all(maxsize=maximum_exemples))
105
106 channel.save()
107
108 return channel.COMPLETE
109
110
111
112 if __name__ == '__main__':
113
114
115 chanmock = DD({'COMPLETE':0,'save':(lambda:None)})
116 jobman_entrypoint(DD(DEFAULT_HP_NIST), chanmock)
117
118