2016-04-29 11 views
3

Iam interessiert sich für die Anwendung einer Faltungs neuronalen Netze mit Tensorflow. Das einzige Tutorial, das ich gesehen habe, ist das Laden des MNIST-Datasets. Ich habe versucht, die dort durchgeführte Prozedur zu replizieren und Blöcke von Tutorials um die Interwebs zu lesen, aber es funktioniert nicht. Hier ist mein Code so weitLaden anderer Bilder in Tensorflow, außer MNIST

import tensorflow as tf 
import os 
import numpy as np 

filename = os.getcwd() + '/sample_images/*.png' 
filename_queue = tf.train.string_input_producer(tf.train.match_filenames_once(filename)) 

image_reader = tf.WholeFileReader() 

_, image_file = image_reader.read(filename_queue) 


image = tf.image.decode_png(image_file, 3) 
image = tf.image.rgb_to_grayscale(image, name=None) 
image = tf.image.resize_images(image, 28, 28, method=0, align_corners=False) 

data = [] 
with tf.Session() as sess: 
    tf.initialize_all_variables().run() 

    coord = tf.train.Coordinator() 
    threads = tf.train.start_queue_runners(coord=coord) 

    image_tensor = sess.run([image]) 
    data.append(image_tensor) 
    #print(image_tensor) 
    coord.request_stop() 
    coord.join(threads) 

xx = np.asarray(data) 
print xx[0].shape 

Grundsätzlich möchte ich folgendes tun: - - Laden Sie Bilder in aus dem Ordner mit ihren Namen

  • jedes Bild die Größe auf 28 * 28

  • Änderung es Skala

  • wiederum in ein Tensor grau und es zu einem Trainingssatz hinzufügen

  • schaffen es Ziel ist (von Etikett es und fügen Sie es zu einem numpy Array)

  • Wiederholung für alle Bilder im Ordner

, wenn ich fertig bin, übergeben Sie den Datensatz und Ziel ein tensorflow RNN

wird alle Hilfe sehr

Antwort

3

einen Blick auf die generic_input_producer von TensorVision Nehmen geschätzt. Die Eingabefunktion nimmt eine Liste von Bildern und gibt einen Tensor zurück, der einen Stapel von Bildern darstellt. Vorverarbeitung, einschließlich der Größenanpassung, wird auch dort vorgenommen.