annotate transformations/pipeline.py @ 48:fabf910467b2

Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
author fsavard
date Thu, 04 Feb 2010 13:39:46 -0500
parents fdb0e0870fb4
children ff59670cd1f9
rev   line source
41
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
1 #!/usr/bin/python
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
2 # coding: utf-8
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
3
10
faacc76d21c2 Basic new pipeline script for the images tranforms
Arnaud Bergeron <abergeron@gmail.com>
parents:
diff changeset
4 from __future__ import with_statement
faacc76d21c2 Basic new pipeline script for the images tranforms
Arnaud Bergeron <abergeron@gmail.com>
parents:
diff changeset
5
48
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
6 # This is intended to be run as a GIMP script
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
7 from gimpfu import *
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
8
41
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
9 import sys, os, getopt
10
faacc76d21c2 Basic new pipeline script for the images tranforms
Arnaud Bergeron <abergeron@gmail.com>
parents:
diff changeset
10 import numpy
faacc76d21c2 Basic new pipeline script for the images tranforms
Arnaud Bergeron <abergeron@gmail.com>
parents:
diff changeset
11 import filetensor as ft
faacc76d21c2 Basic new pipeline script for the images tranforms
Arnaud Bergeron <abergeron@gmail.com>
parents:
diff changeset
12 import random
faacc76d21c2 Basic new pipeline script for the images tranforms
Arnaud Bergeron <abergeron@gmail.com>
parents:
diff changeset
13
48
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
14 # To debug locally, also call with -s 1 (to stop after 1 batch ~= 100)
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
15 # (otherwise we allocate all needed memory, might be loonnng and/or crash
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
16 # if, lucky like me, you have an age-old laptop creaking from everywhere)
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
17 DEBUG = True
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
18 DEBUG_X = False # Debug under X (pylab.show())
10
faacc76d21c2 Basic new pipeline script for the images tranforms
Arnaud Bergeron <abergeron@gmail.com>
parents:
diff changeset
19
48
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
20 DEBUG_IMAGES_PATH = None
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
21 if DEBUG:
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
22 # UNTESTED YET
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
23 # To avoid loading NIST if you don't have it handy
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
24 # (use with debug_images_iterator(), see main())
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
25 # To use NIST, leave as = None
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
26 DEBUG_IMAGES_PATH = None#'/home/francois/Desktop/debug_images'
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
27
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
28 # Directory where to dump images to visualize results
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
29 # (create it, otherwise it'll crash)
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
30 DEBUG_OUTPUT_DIR = 'debug_out'
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
31
41
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
32 BATCH_SIZE = 100
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
33 DEFAULT_NIST_PATH = '/data/lisa/data/nist/by_class/all/all_train_data.ft'
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
34 ARGS_FILE = os.environ['PIPELINE_ARGS_TMPFILE']
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
35
48
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
36 if DEBUG_X:
41
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
37 import pylab
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
38 pylab.ion()
10
faacc76d21c2 Basic new pipeline script for the images tranforms
Arnaud Bergeron <abergeron@gmail.com>
parents:
diff changeset
39
41
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
40 #from add_background_image import AddBackground
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
41 #from affine_transform import AffineTransformation
48
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
42 from PoivreSel import PoivreSel
41
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
43 from thick import Thick
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
44 #from BruitGauss import BruitGauss
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
45 #from gimp_script import GIMPTransformation
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
46 #from Rature import Rature
48
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
47 from contrast import Contrast
41
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
48 from local_elastic_distortions import LocalElasticDistorter
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
49 from slant import Slant
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
50
48
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
51 if DEBUG:
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
52 from visualizer import Visualizer
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
53 # Either put the visualizer as in the MODULES_INSTANCES list
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
54 # after each module you want to visualize, or in the
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
55 # AFTER_EACH_MODULE_HOOK list (but not both, it's redundant)
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
56 VISUALIZER = Visualizer(to_dir=DEBUG_OUTPUT_DIR, on_screen=False)
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
57
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
58 MODULE_INSTANCES = [Thick(), LocalElasticDistorter(), PoivreSel(), Contrast()]
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
59
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
60 # These should have a "after_transform_callback(self, image)" method
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
61 # (called after each call to transform_image in a module)
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
62 AFTER_EACH_MODULE_HOOK = []
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
63 if DEBUG:
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
64 AFTER_EACH_MODULE_HOOK = [VISUALIZER]
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
65
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
66 # These should have a "end_transform_callback(self, final_image" method
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
67 # (called after all modules have been called)
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
68 END_TRANSFORM_HOOK = []
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
69 if DEBUG:
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
70 END_TRANSFORM_HOOK = [VISUALIZER]
10
faacc76d21c2 Basic new pipeline script for the images tranforms
Arnaud Bergeron <abergeron@gmail.com>
parents:
diff changeset
71
41
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
72 class Pipeline():
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
73 def __init__(self, modules, num_batches, batch_size, image_size=(32,32)):
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
74 self.modules = modules
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
75 self.num_batches = num_batches
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
76 self.batch_size = batch_size
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
77 self.num_params_stored = 0
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
78 self.image_size = image_size
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
79
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
80 self.init_memory()
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
81
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
82 def init_num_params_stored(self):
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
83 # just a dummy call to regenerate_parameters() to get the
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
84 # real number of params (only those which are stored)
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
85 self.num_params_stored = 0
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
86 for m in self.modules:
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
87 self.num_params_stored += len(m.regenerate_parameters(0.0))
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
88
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
89 def init_memory(self):
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
90 self.init_num_params_stored()
10
faacc76d21c2 Basic new pipeline script for the images tranforms
Arnaud Bergeron <abergeron@gmail.com>
parents:
diff changeset
91
41
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
92 total = (self.num_batches + 1) * self.batch_size
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
93 num_px = self.image_size[0] * self.image_size[1]
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
94
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
95 self.res_data = numpy.empty((total, num_px))
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
96 self.params = numpy.empty((total, self.num_params_stored))
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
97
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
98 def run(self, batch_iterator, complexity_iterator):
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
99 img_size = self.image_size
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
100
48
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
101 should_hook_after_each = len(AFTER_EACH_MODULE_HOOK) != 0
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
102 should_hook_at_the_end = len(END_TRANSFORM_HOOK) != 0
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
103
41
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
104 for batch_no, batch in enumerate(batch_iterator):
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
105 complexity = complexity_iterator.next()
48
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
106 if DEBUG:
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
107 print "Complexity:", complexity
41
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
108
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
109 assert len(batch) == self.batch_size
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
110
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
111 for img_no, img in enumerate(batch):
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
112 sys.stdout.flush()
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
113 global_idx = batch_no*self.batch_size + img_no
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
114
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
115 img = img.reshape(img_size)
15
f6b6c74bb82f Fix the datatypes.
Arnaud Bergeron <abergeron@gmail.com>
parents: 10
diff changeset
116
41
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
117 param_idx = 0
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
118 for mod in self.modules:
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
119 # This used to be done _per batch_,
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
120 # ie. out of the "for img" loop
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
121 p = mod.regenerate_parameters(complexity)
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
122 self.params[global_idx, param_idx:param_idx+len(p)] = p
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
123 param_idx += len(p)
10
faacc76d21c2 Basic new pipeline script for the images tranforms
Arnaud Bergeron <abergeron@gmail.com>
parents:
diff changeset
124
41
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
125 img = mod.transform_image(img)
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
126
48
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
127 if should_hook_after_each:
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
128 for hook in AFTER_EACH_MODULE_HOOK:
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
129 hook.after_transform_callback(img)
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
130
41
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
131 self.res_data[global_idx] = \
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
132 img.reshape((img_size[0] * img_size[1],))*255
10
faacc76d21c2 Basic new pipeline script for the images tranforms
Arnaud Bergeron <abergeron@gmail.com>
parents:
diff changeset
133
48
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
134
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
135 if should_hook_at_the_end:
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
136 for hook in END_TRANSFORM_HOOK:
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
137 hook.end_transform_callback(img)
41
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
138
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
139 def write_output(self, output_file_path, params_output_file_path):
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
140 with open(output_file_path, 'wb') as f:
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
141 ft.write(f, self.res_data)
10
faacc76d21c2 Basic new pipeline script for the images tranforms
Arnaud Bergeron <abergeron@gmail.com>
parents:
diff changeset
142
41
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
143 numpy.save(params_output_file_path, self.params)
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
144
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
145
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
146 ##############################################################################
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
147 # COMPLEXITY ITERATORS
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
148 # They're called once every batch, to get the complexity to use for that batch
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
149 # they must be infinite (should never throw StopIteration when calling next())
10
faacc76d21c2 Basic new pipeline script for the images tranforms
Arnaud Bergeron <abergeron@gmail.com>
parents:
diff changeset
150
41
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
151 # probability of generating 0 complexity, otherwise
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
152 # uniform over 0.0-max_complexity
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
153 def range_complexity_iterator(probability_zero, max_complexity):
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
154 assert max_complexity <= 1.0
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
155 n = numpy.random.uniform(0.0, 1.0)
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
156 while True:
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
157 if n < probability_zero:
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
158 yield 0.0
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
159 else:
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
160 yield numpy.random.uniform(0.0, max_complexity)
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
161
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
162 ##############################################################################
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
163 # DATA ITERATORS
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
164 # They can be used to interleave different data sources etc.
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
165
48
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
166 '''
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
167 # Following code (DebugImages and iterator) is untested
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
168
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
169 def load_image(filepath):
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
170 _RGB_TO_GRAYSCALE = [0.3, 0.59, 0.11, 0.0]
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
171 img = Image.open(filepath)
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
172 img = numpy.asarray(img)
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
173 if len(img.shape) > 2:
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
174 img = (img * _RGB_TO_GRAYSCALE).sum(axis=2)
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
175 return (img / 255.0).astype('float')
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
176
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
177 class DebugImages():
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
178 def __init__(self, images_dir_path):
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
179 import glob, os.path
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
180 self.filelist = glob.glob(os.path.join(images_dir_path, "*.png"))
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
181
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
182 def debug_images_iterator(debug_images):
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
183 for path in debug_images.filelist:
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
184 yield load_image(path)
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
185 '''
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
186
41
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
187 class NistData():
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
188 def __init__(self, ):
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
189 nist_path = DEFAULT_NIST_PATH
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
190 self.train_data = open(nist_path, 'rb')
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
191 self.dim = tuple(ft._read_header(self.train_data)[3])
10
faacc76d21c2 Basic new pipeline script for the images tranforms
Arnaud Bergeron <abergeron@gmail.com>
parents:
diff changeset
192
41
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
193 def just_nist_iterator(nist, batch_size, stop_after=None):
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
194 for i in xrange(0, nist.dim[0], batch_size):
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
195 nist.train_data.seek(0)
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
196 yield ft.read(nist.train_data, slice(i, i+batch_size)).astype(numpy.float32)/255
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
197
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
198 if not stop_after is None and i >= stop_after:
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
199 break
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
200
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
201 ##############################################################################
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
202 # MAIN
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
203
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
204 def usage():
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
205 print '''
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
206 Usage: run_pipeline.sh [-m ...] [-z ...] [-o ...] [-p ...]
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
207 -m, --max-complexity: max complexity to generate for a batch
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
208 -z, --probability-zero: probability of using complexity=0 for a batch
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
209 -o, --output-file: full path to file to use for output of images
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
210 -p, --params-output-file: path to file to output params to
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
211 '''
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
212
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
213 # See run_pipeline.py
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
214 def get_argv():
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
215 with open(ARGS_FILE) as f:
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
216 args = [l.rstrip() for l in f.readlines()]
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
217 return args
10
faacc76d21c2 Basic new pipeline script for the images tranforms
Arnaud Bergeron <abergeron@gmail.com>
parents:
diff changeset
218
41
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
219 # Might be called locally or through dbidispatch. In all cases it should be
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
220 # passed to the GIMP executable to be able to use GIMP filters.
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
221 # Ex:
48
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
222 def _main():
41
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
223 max_complexity = 0.5 # default
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
224 probability_zero = 0.1 # default
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
225 output_file_path = None
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
226 params_output_file_path = None
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
227 stop_after = None
10
faacc76d21c2 Basic new pipeline script for the images tranforms
Arnaud Bergeron <abergeron@gmail.com>
parents:
diff changeset
228
48
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
229 import sys
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
230 print "python version: ", sys.version
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
231
41
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
232 try:
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
233 opts, args = getopt.getopt(get_argv(), "m:z:o:p:s:", ["max-complexity=", "probability-zero=", "output-file=", "params-output-file=", "stop-after="])
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
234 except getopt.GetoptError, err:
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
235 # print help information and exit:
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
236 print str(err) # will print something like "option -a not recognized"
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
237 usage()
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
238 sys.exit(2)
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
239 output = None
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
240 verbose = False
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
241 for o, a in opts:
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
242 if o in ('-m', '--max-complexity'):
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
243 max_complexity = float(a)
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
244 assert max_complexity >= 0.0 and max_complexity <= 1.0
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
245 elif o in ("-z", "--probability-zero"):
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
246 probability_zero = float(a)
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
247 assert probability_zero >= 0.0 and probability_zero <= 1.0
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
248 elif o in ("-o", "--output-file"):
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
249 output_file_path = a
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
250 elif o in ('-p', "--params-output-file"):
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
251 params_output_file_path = a
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
252 elif o in ('-s', "--stop-after"):
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
253 stop_after = int(a)
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
254 else:
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
255 assert False, "unhandled option"
10
faacc76d21c2 Basic new pipeline script for the images tranforms
Arnaud Bergeron <abergeron@gmail.com>
parents:
diff changeset
256
41
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
257 if output_file_path == None or params_output_file_path == None:
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
258 print "Must specify both output files."
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
259 print
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
260 usage()
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
261 sys.exit(2)
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
262
48
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
263 if DEBUG_IMAGES_PATH:
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
264 '''
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
265 # This code is yet untested
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
266 debug_images = DebugImages(DEBUG_IMAGES_PATH)
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
267 num_batches = 1
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
268 batch_size = len(debug_images.filelist)
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
269 pl = Pipeline(modules=MODULE_INSTANCES, num_batches=num_batches, batch_size=BATCH_SIZE, image_size=(32,32))
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
270 batch_it = debug_images_iterator(debug_images)
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
271 '''
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
272 else:
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
273 nist = NistData()
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
274 num_batches = nist.dim[0]/BATCH_SIZE
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
275 if stop_after:
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
276 num_batches = stop_after
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
277 pl = Pipeline(modules=MODULE_INSTANCES, num_batches=num_batches, batch_size=BATCH_SIZE, image_size=(32,32))
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
278 batch_it = just_nist_iterator(nist, BATCH_SIZE, stop_after)
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
279
41
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
280 cpx_it = range_complexity_iterator(probability_zero, max_complexity)
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
281 pl.run(batch_it, cpx_it)
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
282 pl.write_output(output_file_path, params_output_file_path)
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
283
48
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
284 _main()
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
285
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
286 if DEBUG_X:
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
287 pylab.ioff()
fabf910467b2 Ajouté des hooks pour visualisation à différentes étapes. On peut dumper la grille d'images pour chaque image transformée ou visualiser live avec pylab.imshow() (pas encore essayé cette façon... j'ai un problème avec GIMP+python sur mon laptop).
fsavard
parents: 41
diff changeset
288 pylab.show()
41
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
289
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
290 pdb.gimp_quit(0)
fdb0e0870fb4 Beaucoup de modifications à pipeline.py pour généraliser et un début de visualisation, et créé un wrapper (run_pipeline.py) pour appeler avec GIMP.
fsavard
parents: 15
diff changeset
291