In TensorFlow, sagen wir haben Trainingsdaten xs
in numpy NHCW-Format. Ich mag Chargen in Tensorflow von xs
probieren, ich habeWarum fügt tf.train.batch eine zusätzliche Dimension zur Ausgabe in TensorFlow hinzu?
xs = np.reshape(range(32), [4,2,2,2])
tensor_list = [tf.convert_to_tensors(x) for x in xs]
#x_tensor = tf.convert_to_tensors(xs) # tried this version too
x_batch = tf.train.shuffle_batch(tensor_list, batch_size=3, capacity=50, min_after_dequeue=10)
Statt Probenahme aus tensor_list
, gibt diesen Code eine Liste, deren Länge das gleiche der Anzahl der Datenpunkte (4 in diesem Fall), und jeder Listenelement ist ein Tensor, wobei die erste Dimension batch_size
ist (in diesem Fall 3). Persönlich wäre das intuitive Ergebnis x_batch
ist ein 4-dimensionaler Tensor und der Wert der ersten Dimension ist batch_size
, und der Inhalt wird nach dem Zufallsprinzip abgetastet. Dann haben wir jedes Mal, wenn wir sess.run(x_batch)
anrufen, eine andere Charge.
Bitte lassen Sie mich wissen, wo ich falsch gemacht habe.