Ich habe eine einzige Datei mit Trainingsdaten, etwa 100K Zeilen, und ich habe eine einfache tf.train.GradientDescentOptimizer
auf jedem Trainingsschritt ausgeführt. Das Setup wird im Wesentlichen direkt vom Tensorflow-MNIST-Beispiel übernommen. Code reproduziert unter:Tensorflow Verständnis 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)
Da ich aus einer Datei Trainingsdaten gerade lese, ich bin tf.train.string_input_producer
und tf.decode_csv
mit Zeilen aus der csv zu lesen, und dann tf.train.shuffle_batch
Chargen zu erstellen, die ich trainieren dann.
Ich bin verwirrt, was meine Parameter für tf.train.shuffle_batch
sein sollten. Ich lese Tensorflow-Dokumentation, und ich bin mir immer noch nicht sicher, was die "optimale" Batch_size, Kapazität und Min_after_dequeue Werte sind. Kann jemand helfen, etwas Licht in die Frage zu bringen, wie ich die richtigen Werte für diese Parameter wählen kann, oder mich mit einer Ressource verbinden, von der ich mehr lernen kann? Thanks--
Hier ist die API-Link: https://www.tensorflow.org/versions/r0.9/api_docs/python/io_ops.html#shuffle_batch