Mercurial > ift6266
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 |