TensorFlow: comment est dataset.le train.next_batch défini?

Je suis en train d'apprendre TensorFlow et l'étude de l'exemple: https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/3_NeuralNetworks/autoencoder.ipynb

Je puis avoir quelques questions dans le code ci-dessous:

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))

Depuis mnist est juste un jeu de données, qu'est-ce exactement ne mnist.train.next_batch veux dire? Comment était le dataset.train.next_batch défini?

Merci!

OriginalL'auteur Edamame | 2017-01-04