2016-04-24 27 views
6

Installa Tensorflow su ubuntu 14.04. Ho completato il tutorial MNIST For ML Beginners. Ho capito.Come preparare i miei dati per tensorflow?

Né, provo a utilizzare i miei dati. Ho i dati del treno come T [1000] [10]. Le etichette sono L [2], 1 o 0.

Come posso accedere ai miei dati mnist.train.images?

+0

Hai estratto input_data.py? Penso che otterrai alcune idee dal file. –

+0

Lo controllo. https://github.com/tensorflow/tensorflow/blob/r0.8/tensorflow/examples/tutorials/mnist/input_data.py Ma non sottovaluto come installare e analizzare i dati. –

+0

Lo script scarica e importa automaticamente il set di dati. Voglio farlo da solo –

risposta

1

In input_data.py, queste due funzioni fanno il lavoro principale.

1. Scaricare

def maybe_download(filename, work_directory): 
    """Download the data from Yann's website, unless it's already here.""" 
    if not os.path.exists(work_directory): 
     os.mkdir(work_directory) 
    filepath = os.path.join(work_directory, filename) 
    if not os.path.exists(filepath): 
     filepath, _ = urlretrieve(SOURCE_URL + filename, filepath) 
     statinfo = os.stat(filepath) 
     print('Succesfully downloaded', filename, statinfo.st_size, 'bytes.') 
    return filepath 

2 immagine per nparray

def extract_images(filename): 
    """Extract the images into a 4D uint8 numpy array [index, y, x, depth].""" 
    print('Extracting', filename) 
    with gzip.open(filename) as bytestream: 
     magic = _read32(bytestream) 
     if magic != 2051: 
      raise ValueError(
       'Invalid magic number %d in MNIST image file: %s' % 
       (magic, filename)) 
     num_images = _read32(bytestream) 
     rows = _read32(bytestream) 
     cols = _read32(bytestream) 
     buf = bytestream.read(rows * cols * num_images) 
     data = numpy.frombuffer(buf, dtype=numpy.uint8) 
     data = data.reshape(num_images, rows, cols, 1) 
     return data 

Sulla base di set di dati e la posizione, è possibile chiamare:

local_file = maybe_download(TRAIN_IMAGES, train_dir) 
train_images = extract_images(local_file) 

vedere il codice sorgente completo https://github.com/nlintz/TensorFlow-Tutorials/blob/master/input_data.py .

+0

Grazie della risposta. I miei dati di input hanno due file. Uno di questi include le parole (mnist usa la sequenza di immagini), l'altro include le etichette (0 o 1). Non riesco a enumare il mio contributo. –

+0

Cosa intendi con "Non riesco a enumare il mio input".? Vedi def extract_labels (filename, one_hot = False) nel file di esempio. –

+0

Il mio file word ha caratteri non inglesi. Non riesco a estrarre una matrice come "data" nella funzione extract_images. –