view scripts/creer_jeu_occlusion.py @ 239:42005ec87747

Mergé (manuellement) les changements de Sylvain pour utiliser le code de dataset d'Arnaud, à cette différence près que je n'utilse pas les givens. J'ai probablement une approche différente pour limiter la taille du dataset dans mon débuggage, aussi.
author fsavard
date Mon, 15 Mar 2010 18:30:21 -0400
parents 041d68b34b70
children
line wrap: on
line source

#!/usr/bin/python
# coding: utf-8

'''
Sert a creer un petit jeu de donnees afin de pouvoir avoir des fragments
de lettres pour ajouter bruit d'occlusion

Sylvain Pannetier Lebeuf dans le cadre de IFT6266, hiver 2010

'''

from pylearn.io import filetensor as ft
import pylab
import random as r
from numpy import *

nombre = 20000  #La grandeur de l'echantillon

f = open('all_train_data.ft')  #Le jeu de donnees est en local.  
d = ft.read(f)
f.close()
print len(d)
random.seed(3525)

echantillon=r.sample(xrange(len(d)),nombre)
nouveau=d[0:nombre]
for i in xrange(nombre):
    nouveau[i]=d[echantillon[i]]


f2 = open('echantillon_occlusion.ft', 'w')
ft.write(f2,nouveau)
f2.close()


##Tester si ca a fonctionne
f3 = open('echantillon_occlusion.ft')

d2=ft.read(f3)
pylab.imshow(d2[0].reshape((32,32)))
pylab.show()
f3.close()