Mam jeden plik danych treningowych, około 100 tysięcy wierszy, a na każdym etapie treningu prowadzę prosty numer tf.train.GradientDescentOptimizer
. Konfiguracja jest zasadniczo pobierana bezpośrednio z przykładu MNIST Tensorflowa. Kod przedstawiony poniżej:Tensorflow understanding tf.train.shuffle_batch
x = tf.placeholder(tf.float32, [None, 21])
W = tf.Variable(tf.zeros([21, 2]))
b = tf.Variable(tf.zeros([2]))
y = tf.nn.softmax(tf.matmul(x, W) + b)
y_ = tf.placeholder(tf.float32, [None, 2])
cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y), reduction_indices=[1]))
train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)
Zważywszy, że czytam dane szkolenie z pliku, używam tf.train.string_input_producer
i tf.decode_csv
czytać wiersze z pliku CSV, a następnie tf.train.shuffle_batch
do tworzenia partii, że wtedy pociągu na.
Jestem zdezorientowany co do moich parametrów dla tf.train.shuffle_batch
. Przeczytałem dokumentację Tensorflow, ale nadal nie jestem pewien, jakie są "optymalne" wartości batch_size, capacity i min_after_dequeue. Czy ktokolwiek może pomóc rzucić trochę światła na to, jak idę na temat wyboru właściwych wartości dla tych parametrów, lub połączyć mnie z zasobem, gdzie mogę dowiedzieć się więcej? Thanks--
Oto link API: https://www.tensorflow.org/versions/r0.9/api_docs/python/io_ops.html#shuffle_batch