Ho un singolo file di dati di allenamento, circa 100.000 righe e sto eseguendo un semplice tf.train.GradientDescentOptimizer
su ogni passaggio di addestramento. L'installazione è essenzialmente presa direttamente dall'esempio MNIST di Tensorflow. Codice di seguito riprodotto:Comprensione di Tensorflow 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)
Premesso che sto leggendo i dati da un file di formazione, sto usando tf.train.string_input_producer
e tf.decode_csv
di leggere righe dal CSV, e poi tf.train.shuffle_batch
creare batch che poi treno su.
Sono confuso su quali dovrebbero essere i miei parametri per tf.train.shuffle_batch
. Ho letto la documentazione di Tensorflow, eppure non sono ancora sicuro di quali siano i valori "ottimale" batch_size, capacity e min_after_dequeue. Qualcuno può aiutare a far luce su come scelgo i valori appropriati per questi parametri o collegarmi a una risorsa in cui posso imparare di più? Thanks--
ecco il link API: https://www.tensorflow.org/versions/r0.9/api_docs/python/io_ops.html#shuffle_batch