Ein numpy-Array an eine Tensorflow-Warteschlange übergeben

Ich habe ein NumPy-Array und möchte es im TensorFlow-Code mit einem @ lesWarteschlang. Ich möchte, dass die Warteschlange die gesamten Daten, eine festgelegte Anzahl von Epochen, gemischt zurückgibt und danach einen Fehler auslöst. Es wäre am besten, wenn ich weder die Größe eines Beispiels noch die Anzahl der Beispiele fest codieren müsste. Meiner Ansicht nachshuffle batch soll diesem Zweck dienen. Ich habe versucht, es wie folgt zu verwenden:

data = tf.constant(train_np) # train_np is my numpy array of shape (num_examples, example_size)
batch = tf.train.shuffle_batch([data], batch_size=5, capacity=52200, min_after_dequeue=10, num_threads=1, seed=None, enqueue_many=True)

sess.run(tf.initialize_all_variables())
tf.train.start_queue_runners(sess=sess)
batch.eval()

Das Problem bei diesem Ansatz ist, dass alle Daten kontinuierlich gelesen werden und ich nicht angeben kann, dass sie nach einer bestimmten Anzahl von Epochen fertiggestellt werden sollen. Mir ist bewusst, dass ich das @ benutzen könn RandomShuffleQueue und füge die Daten ein paar Mal ein, aber: a) Ich möchte keine epochalen * Speicherdaten verschwenden und b) es ermöglicht der Warteschlange, zwischen den Epochen zu wechseln.

Gibt es eine gute Möglichkeit, die gemischten Daten in Tensorflow-Epochen zu lesen, ohne eine eigene Warteschlange zu erstellen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage