comparison scripts/nist_read.py @ 3:5b0772bf4576

exemple d'un script qui charges les donnees NIST en memoire et affiche la premiere chiffre
author Dumitru Erhan <dumitru.erhan@gmail.com>
date Sun, 24 Jan 2010 22:51:58 -0500
parents
children 7fb10ae0efec
comparison
equal deleted inserted replaced
2:bcc87d3e33a3 3:5b0772bf4576
1 #!/usr/bin/env python
2
3 # L'execution de "ipython -pylab nist_read.py" est recommande
4
5 # Pour lire les fichiers NIST, qui sont en format filetensor, il vous faut la
6 # librarie pylearn, disponible en executant:
7 # hg clone http://hg.assembla.com/pylearn Pylearn
8 # et en mettant le repertoire Pylearn dans votre PYTHONPATH
9
10 from pylearn.io import filetensor as ft
11 import pylab, numpy
12
13 # repertoire qui contient les donnees NIST
14 # le repertoire suivant va fonctionner si vous etes connecte sur un ordinateur
15 # du reseau DIRO
16 datapath = '/data/lisa/data/nist/by_class/'
17
18 # le fichier .ft contient chiffres NIST dans un format efficace. Les chiffres
19 # sont stockes dans une matrice de NxD, ou N est le nombre d'images, est D est
20 # le nombre de pixels par image (32x32 = 1024). Chaque pixel de l'image est une
21 # valeur entre 0 et 255, correspondant a un niveau de gris. Les valeurs sont
22 # stockees comme des uint8, donc des bytes.
23 f = open(datapath+'digits/digits_train_data.ft')
24
25 # Verifier que vous avez assez de memoire pour loader les donnees au complet
26 # dans le memoire. Sinon, utilisez ft.arraylike, une classe construite
27 # specialement pour des fichiers
28 d = ft.read(f)
29
30 # Affichage d'une image
31 pylab.imshow(d[0].reshape((32,32)))
32 pylab.show()
33
34 # NB: N'oubliez pas de diviser les valeurs des pixels par 255. si jamais vous
35 # utilisez les donnees commes entrees dans un reseaux de neurones et que vous
36 # voulez des entres entre 0 et 1.
37
38 # digits_train_data.ft contient les images, digits_train_labels.ft contient les
39 # etiquettes
40 f = open(datapath+'digits/digits_train_labels.ft')
41 labels = ft.read(f)
42 print 'etiquette: ', labels[0]
43