Mercurial > ift6266
comparison transformations/Occlusion.py @ 148:72a2d431d047
Rajout d'un seed random et d'une fonction get_seed
author | SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca> |
---|---|
date | Wed, 24 Feb 2010 13:14:02 -0500 |
parents | a507adba0ce3 |
children | 7640cb31cf1f |
comparison
equal
deleted
inserted
replaced
147:51b531226557 | 148:72a2d431d047 |
---|---|
22 | 22 |
23 from pylearn.io import filetensor as ft | 23 from pylearn.io import filetensor as ft |
24 | 24 |
25 class Occlusion(): | 25 class Occlusion(): |
26 | 26 |
27 def __init__(self): | 27 def __init__(self,seed=9854): |
28 #Ces 4 variables representent la taille du "crop" sur l'image2 | 28 #Ces 4 variables representent la taille du "crop" sur l'image2 |
29 #Ce "crop" est pris a partie de image1[15,15], le milieu de l'image1 | 29 #Ce "crop" est pris a partie de image1[15,15], le milieu de l'image1 |
30 self.haut=2 | 30 self.haut=2 |
31 self.bas=2 | 31 self.bas=2 |
32 self.gauche=2 | 32 self.gauche=2 |
45 self.opacite=0.5 #C'est completement arbitraire. Possible de le changer si voulu | 45 self.opacite=0.5 #C'est completement arbitraire. Possible de le changer si voulu |
46 | 46 |
47 #Sert a dire si on fait quelque chose. 0=faire rien, 1 on fait quelque chose | 47 #Sert a dire si on fait quelque chose. 0=faire rien, 1 on fait quelque chose |
48 self.appliquer=1 | 48 self.appliquer=1 |
49 | 49 |
50 self.seed=seed | |
51 numpy.random.seed(self.seed) | |
52 | |
50 f3 = open('/data/lisa/data/ift6266h10/echantillon_occlusion.ft') #Doit etre sur le reseau DIRO. | 53 f3 = open('/data/lisa/data/ift6266h10/echantillon_occlusion.ft') #Doit etre sur le reseau DIRO. |
51 #f3 = open('/home/sylvain/Dropbox/Msc/IFT6266/donnees/echantillon_occlusion.ft') | 54 #f3 = open('/home/sylvain/Dropbox/Msc/IFT6266/donnees/echantillon_occlusion.ft') |
52 #Il faut arranger le path sinon | 55 #Il faut arranger le path sinon |
53 w=ft.read(f3) | 56 w=ft.read(f3) |
54 f3.close() | 57 f3.close() |
57 self.d=(w.astype('float'))/255 | 60 self.d=(w.astype('float'))/255 |
58 | 61 |
59 | 62 |
60 def get_settings_names(self): | 63 def get_settings_names(self): |
61 return ['haut','bas','gauche','droite','x_arrivee','y_arrivee','endroit','rajout','appliquer'] | 64 return ['haut','bas','gauche','droite','x_arrivee','y_arrivee','endroit','rajout','appliquer'] |
65 | |
66 def get_seed(self): | |
67 return self.seed | |
62 | 68 |
63 def regenerate_parameters(self, complexity): | 69 def regenerate_parameters(self, complexity): |
64 self.haut=min(15,int(numpy.abs(numpy.random.normal(int(8*complexity),2)))) | 70 self.haut=min(15,int(numpy.abs(numpy.random.normal(int(8*complexity),2)))) |
65 self.bas=min(15,int(numpy.abs(numpy.random.normal(int(8*complexity),2)))) | 71 self.bas=min(15,int(numpy.abs(numpy.random.normal(int(8*complexity),2)))) |
66 self.gauche=min(15,int(numpy.abs(numpy.random.normal(int(8*complexity),2)))) | 72 self.gauche=min(15,int(numpy.abs(numpy.random.normal(int(8*complexity),2)))) |
142 print transfo.get_settings_names() | 148 print transfo.get_settings_names() |
143 print transfo.regenerate_parameters(complexite) | 149 print transfo.regenerate_parameters(complexite) |
144 | 150 |
145 img_trans=transfo.transform_image(img.reshape((32,32))) | 151 img_trans=transfo.transform_image(img.reshape((32,32))) |
146 | 152 |
153 print transfo.get_seed() | |
147 pylab.imshow(img_trans.reshape((32,32))) | 154 pylab.imshow(img_trans.reshape((32,32))) |
148 pylab.show() | 155 pylab.show() |
149 | 156 |
150 | 157 |
151 if __name__ == '__main__': | 158 if __name__ == '__main__': |