2016-11-01 20 views
10

TensorFlow öğreticisini deniyorum ve bu satırdaki next_batch'ın nereden geldiğini anlamıyorum? TensorFlow öğretici batch_xs içinde next_batch, batch_ys = mnist.train.next_batch (100) nereden geliyor?

batch_xs, batch_ys = mnist.train.next_batch(100) 

Ben

from tensorflow.examples.tutorials.mnist import input_data 
mnist = input_data.read_data_sets("MNIST_data/", one_hot=True) 

baktı Ve ya next_batch orada görmedim. Kendi kodu next_batch dışarı çalışırken

Şimdi, Yani benim geldiğim next_batch yapar nerede anlamak istiyorum

AttributeError: 'numpy.ndarray' object has no attribute 'next_batch' 

alıyorum?

+0

de burada sorulan next_batch fonksiyonunun belgeyi almak: https://stackoverflow.com/questions/41454511/tensorflow-how-is -dataset-tren-sonraki-batch-tanımlı –

cevap

15

next_batchDataSet sınıfı (sınıfta neler ilgili daha fazla bilgi için https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/learn/python/learn/datasets/mnist.py bakınız) yöntemidir:

İşte bazı pseudocode var. mnist.train sınıfına en

mnist = input_data.read_data_sets("MNIST_data/", one_hot=True) 

görünüm:

Eğer mnist verilerini yüklemek ve değişken mnist atamak

. Yazarak görebilirsiniz:

print mnist.train.__class__ 

Aşağıdaki görürsünüz: sınıfının DataSet bir örneğidir

<class 'tensorflow.contrib.learn.python.learn.datasets.mnist.Dataset'> 

mnist.train olduğundan, sınıfının işlevini next_batch kullanabilirsiniz. Sınıflar hakkında daha fazla bilgi için, documentation'a bakın.

+0

Harika bir açıklama teşekkürler. – Dan

8

tensorflow depo bakarak sonra, buradan kaynaklandığı görülmektedir:

https://github.com/tensorflow/tensorflow/blob/9230423668770036179a72414482d45ddde40a3b/tensorflow/contrib/training/python/training/sequence_queueing_state_saver.py#L905

Ancak (kendi veri kümesi için) kendi kodunuzu bunu uygulamaya arıyorsanız, büyük olasılıkla olurdu Bunu yaptığım gibi bir veri kümesi nesnesinde yazmak çok daha kolay. Anladığım kadarıyla, tüm veri kümesini karıştırmak ve karıştırılmış veri kümesinden $ mini_batch_size örnek döndürmek için bir yöntemdir.

shuffle data.x and data.y while retaining relation return [data.x[:mb_n], data.y[:mb_n]]

+0

Bu çok teşekkürler. – Dan

-2

sadece yardım işlevini kullanabilirsiniz:

help(tf.contrib.learn.datasets.mnist.DataSet.next_batch) 

ve

İlgili konular