2017-01-14 3 views
0

Während ich am offiziellen Tensorflow-Mnist-Dataset-Tutorial für Anfänger übe, versuche ich die Mnist-Daten in meine eigenen Bilder zu ändern, die von Suchmaschinen gesammelt wurden.Eingangspipeline in Tensorflow

strFilePaths,iLabels ,strSubFolderNames,iNumTotalDatasets = ScanForImage('Datasets') 

tsFileNameQueue = tf.train.string_input_producer(strFilePaths) 
tsReader = tf.WholeFileReader() 
_,tsImage = tsReader.read(tsFileNameQueue) 

tsImage = tf.image.decode_jpeg(tsImage, channels=3) 
tsImage = tf.cast(tsImage,tf.float32) 
tsLabels = tf.convert_to_tensor(iLabels, dtype=tf.float32) 
tsImage = tf.reshape(tsImage, shape=[1,168*300*3]) 

matWeights = tf.Variable(tf.random_normal([168*300*3, 2])) 
vBiases = tf.Variable(tf.zeros([2])) 
vPredictions = tf.nn.softmax(tf.matmul(tsImage, matWeights) + vBiases) 
fCrossEntropy = tf.reduce_mean(-tf.reduce_sum(tsLabels * tf.log(vPredictions), reduction_indices=[1])) 
train_step = tf.train.GradientDescentOptimizer(0.1).minimize(fCrossEntropy) 
init = tf.global_variables_initializer() 

with tf.Session() as sess : 
    sess.run(init) 
    for i in range (1000) : 
    tsTrainingSets = tf.train.batch([tsImage,tsLabels], batch_size=100) 
    sess.run(train_step) 
     if i % 20 == 0 : 
      correct_prediction = tf.equal(tf.argmax(vPredictions,1),tf.argmax(tsTrainingSets[1],1)) 
      accuracy = tf.reduce_mean(tf.cast(correct_prediction,tf.float32)) 
      print(sess.run(accuracy)) 

Das strFilePaths ist eine Standard-Python-Liste alle meine Bildpfade enthält, iLabels ist eine Liste von Listen darstellt Etiketten. Und ich habe nur 2 Klassen in diesem Fall.

Dieses Programm läuft ohne Fehlerausgabe, aber Tensorflow läuft einfach weiter und gibt mir keine Ausgabe. Ich habe die "Lesedateien" -Sitzung auf der Tensorflow-Website tausendmal gelesen, aber ich habe immer noch keine Ahnung, ob ich die Dinge richtig gemacht habe oder nicht.

Q1: Was ist falsch an diesem Code? F2: Gibt es ein komplettes Beispiel, wie man JPEG-Dateien in Tensorflow liest und einige Trainingsaufgaben an ihnen ausführt?

+0

Bild Retraining Tutorial verwendet dekodieren JPEG, dh https://github.com/tensorflow /tensorflow/blob/4433079e7f317724eaa92ec120c6b1c3c0c52f2f/tensorflow/examples/image_retraining/retrain.py –

Antwort