Stai utilizzando il modello lineare di base nell'esempio per principianti?
Ecco un trucco per eseguire il debug - guardare il cross-entropia come si aumenta la dimensione del lotto (la prima linea è l'esempio, la seconda ho solo aggiunto):
cross_entropy = -tf.reduce_sum(y_*tf.log(y))
cross_entropy = tf.Print(cross_entropy, [cross_entropy], "CrossE")
Ad una dimensione del lotto di 204, si vedrà:
I tensorflow/core/kernels/logging_ops.cc:64] CrossE[92.37558]
I tensorflow/core/kernels/logging_ops.cc:64] CrossE[90.107414]
Ma a 205, vedrete una sequenza come questo, fin dall'inizio:
I tensorflow/core/kernels/logging_ops.cc:64] CrossE[472.02966]
I tensorflow/core/kernels/logging_ops.cc:64] CrossE[475.11697]
I tensorflow/core/kernels/logging_ops.cc:64] CrossE[1418.6655]
I tensorflow/core/kernels/logging_ops.cc:64] CrossE[1546.3833]
I tensorflow/core/kernels/logging_ops.cc:64] CrossE[1684.2932]
I tensorflow/core/kernels/logging_ops.cc:64] CrossE[1420.02]
I tensorflow/core/kernels/logging_ops.cc:64] CrossE[1796.0872]
I tensorflow/core/kernels/logging_ops.cc:64] CrossE[nan]
Ack - NaN sta mostrando. Fondamentalmente, la grande dimensione del batch sta creando un gradiente così grande che il tuo modello sta andando fuori controllo in modo vertiginoso - gli aggiornamenti che sta applicando sono troppo grandi e superano la direzione in cui dovrebbe andare con un enorme margine.
In pratica, ci sono alcuni modi per risolvere questo problema. È possibile ridurre il tasso di apprendimento da 0,01 a, ad esempio, 0,005, il che si traduce in una precisione finale di 0,92.
train_step = tf.train.GradientDescentOptimizer(0.005).minimize(cross_entropy)
Oppure si potrebbe usare un più sofisticato algoritmo di ottimizzazione (Adam, Momentum, etc.) che cerca di fare di più per capire la direzione del gradiente. Oppure potresti usare un modello più complesso che ha più parametri liberi su cui disperdere quel grande gradiente.
Nel caso in cui siete affetti dallo stesso problema, come ho fatto, si consiglia di controllare qui: http://stackoverflow.com/questions/33712178/tensorflow-nan-bug – user1111929