# HG changeset patch # User boulanni # Date 1266268668 18000 # Node ID a7cd8dd3221cd54f4aeb5127fdf3546e4883ddc2 # Parent a9b87b68101d4a08573ee5209bb660efb83a7986 pipeline.py: placé les modules dans le bon ordre + store NIST en bytes plutôt qu'en float32 dans la RAM diff -r a9b87b68101d -r a7cd8dd3221c transformations/pipeline.py --- a/transformations/pipeline.py Mon Feb 15 15:35:17 2010 -0500 +++ b/transformations/pipeline.py Mon Feb 15 16:17:48 2010 -0500 @@ -41,17 +41,19 @@ import pylab pylab.ion() -#from add_background_image import AddBackground -from affine_transform import AffineTransformation from PoivreSel import PoivreSel from thick import Thick from BruitGauss import BruitGauss +from DistorsionGauss import DistorsionGauss +from PermutPixel import PermutPixel from gimp_script import GIMP1 from Rature import Rature from contrast import Contrast -from Occlusion import Occlusion from local_elastic_distortions import LocalElasticDistorter from slant import Slant +from Occlusion import Occlusion +from add_background_image import AddBackground +from affine_transform import AffineTransformation if DEBUG: from visualizer import Visualizer @@ -60,7 +62,8 @@ # AFTER_EACH_MODULE_HOOK list (but not both, it's redundant) VISUALIZER = Visualizer(to_dir=DEBUG_OUTPUT_DIR, on_screen=False) -MODULE_INSTANCES = [Thick(),Slant(),GIMP1(),AffineTransformation(),LocalElasticDistorter(),Occlusion(),Rature(),Contrast()] +###---------------------order of transformation module +MODULE_INSTANCES = [Slant(),Thick(),AffineTransformation(),LocalElasticDistorter(),GIMP1(),Rature(),Occlusion(), PermutPixel(),DistorsionGauss(),AddBackground(), PoivreSel(), BruitGauss(), Contrast()] # These should have a "after_transform_callback(self, image)" method # (called after each call to transform_image in a module) @@ -201,11 +204,12 @@ self.ocr_data = open(ocr_path, 'rb') self.ocr_labels = open(ocrlabel_path, 'rb') +# cet iterator load tout en ram def nist_supp_iterator(nist, prob_font, prob_captcha, prob_ocr, num_img): - img = ft.read(nist.train_data).astype(numpy.float32)/255 + img = ft.read(nist.train_data) labels = ft.read(nist.train_labels) if prob_ocr: - ocr_img = ft.read(nist.ocr_data).astype(numpy.float32)/255 + ocr_img = ft.read(nist.ocr_data) ocr_labels = ft.read(nist.ocr_labels) for i in xrange(num_img): @@ -216,10 +220,10 @@ pass #get captcha elif r <= prob_font + prob_captcha + prob_ocr: j = numpy.random.randint(len(ocr_labels)) - yield ocr_img[j], ocr_labels[j] + yield ocr_img[j].astype(numpy.float32)/255, ocr_labels[j] else: j = numpy.random.randint(len(labels)) - yield img[j], labels[j] + yield img[j].astype(numpy.float32)/255, labels[j] # Mostly for debugging, for the moment, just to see if we can