2017-01-04 1 views
8

Ich versuche TensorFlow und studieren das Beispiel an zu lernen: https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/3_NeuralNetworks/autoencoder.ipynbTensorFlow: Wie ist Dataset.train.next_batch definiert?

ich dann habe einige Fragen in den folgenden Code:

for epoch in range(training_epochs): 
    # Loop over all batches 
    for i in range(total_batch): 
     batch_xs, batch_ys = mnist.train.next_batch(batch_size) 
     # Run optimization op (backprop) and cost op (to get loss value) 
     _, c = sess.run([optimizer, cost], feed_dict={X: batch_xs}) 
    # Display logs per epoch step 
    if epoch % display_step == 0: 
     print("Epoch:", '%04d' % (epoch+1), 
       "cost=", "{:.9f}".format(c)) 

Seit mnist ist nur ein Datensatz, was genau bedeutet das mnist.train.next_batch? Wie wurde die dataset.train.next_batch definiert?

Danke!

Antwort

19

Das Objekt mnist wird von read_data_sets() function zurückgegeben, das im Modul tf.contrib.learn definiert ist. Die mnist.train.next_batch(batch_size)-Methode wird implementiert here, und es gibt ein Tupel von zwei Arrays zurück, wobei das erste eine Charge von batch_size MNIST-Bildern darstellt und das zweite eine Charge von batch-size Labels darstellt, die diesen Bildern entsprechen.

Die Bilder werden als [batch_size, 784] 2-D NumPy Array der Größe zurückgeführt (da es 784 Pixel in einem MNIST Bild), und die Etiketten werden als entweder eine 1-D NumPy Array der Größe [batch_size] zurückgegeben (wenn read_data_sets() war mit one_hot=False aufgerufen) oder ein 2-D NumPy-Array der Größe [batch_size, 10] (wenn read_data_sets() mit one_hot=True aufgerufen wurde).

+7

Es ist erwähnenswert, dass [next_batch] (https://github.com/tensorflow/tensorflow/blob/7c36309c37b04843030664cdc64aca2bb7d6ecaa/tensorflow/contrib/learn/python/learn/datasets/mnist.py#L160) die Beispiele Umbesetzungen nach gehen durch alle von ihnen jede Epoche. Sie können verfolgen, wo Sie in der Epoche sind, von 'DataSet._index_in_epoch', wie' mnist.train._index_in_epoch' –

Verwandte Themen