TensorFlow random_shuffle_queue est fermé et n'a pas suffisamment d'éléments
Je suis en train de lire lot d'images par arriver idée ici de tfrecords(converti par cette)
Mes images sont icra images, [32, 32, 3] et comme vous pouvez le voir en lisant et en passant les images, les formes sont normales (batch_size=100
)
la 2 la plupart des problèmes notables a déclaré dans le journal, autant que je sais, c'est
- Forme de 12228, je ne sais pas d'où je me présente. Tous mes tenseurs sont soit en forme [32, 32, 3] ou [None, 3072]
- En cours d'exécution hors de l'échantillon
Compute status: Out of range: RandomSuffleQueue '_2_input/shuffle_batch/random_shuffle_queue' is closed and has insufficient elements (requested 100, current size 0)
Comment puis-je résoudre ce problème?
Journaux:
1- image shape is TensorShape([Dimension(3072)])
1.1- images batch shape is TensorShape([Dimension(100), Dimension(3072)])
2- images shape is TensorShape([Dimension(100), Dimension(3072)])
W tensorflow/core/kernels/queue_ops.cc:79] Invalid argument: Shape mismatch in tuple component 0. Expected [3072], got [12288]
W tensorflow/core/common_runtime/executor.cc:1027] 0x7fa72abc89a0 Compute status: Invalid argument: Shape mismatch in tuple component 0. Expected [3072], got [12288]
[[Node: input/shuffle_batch/random_shuffle_queue_enqueue = QueueEnqueue[Tcomponents=[DT_FLOAT, DT_INT32], timeout_ms=-1, _device="/job:localhost/replica:0/task:0/cpu:0"](input/shuffle_batch/random_shuffle_queue, input/sub, input/Cast_1)]]
W tensorflow/core/kernels/queue_ops.cc:79] Invalid argument: Shape mismatch in tuple component 0. Expected [3072], got [12288]
W tensorflow/core/common_runtime/executor.cc:1027] 0x7fa72ab9d080 Compute status: Invalid argument: Shape mismatch in tuple component 0. Expected [3072], got [12288]
[[Node: input/shuffle_batch/random_shuffle_queue_enqueue = QueueEnqueue[Tcomponents=[DT_FLOAT, DT_INT32], timeout_ms=-1, _device="/job:localhost/replica:0/task:0/cpu:0"](input/shuffle_batch/random_shuffle_queue, input/sub, input/Cast_1)]]
W tensorflow/core/kernels/queue_ops.cc:79] Invalid argument: Shape mismatch in tuple component 0. Expected [3072], got [12288]
W tensorflow/core/common_runtime/executor.cc:1027] 0x7fa7285e55a0 Compute status: Invalid argument: Shape mismatch in tuple component 0. Expected [3072], got [12288]
[[Node: input/shuffle_batch/random_shuffle_queue_enqueue = QueueEnqueue[Tcomponents=[DT_FLOAT, DT_INT32], timeout_ms=-1, _device="/job:localhost/replica:0/task:0/cpu:0"](input/shuffle_batch/random_shuffle_queue, input/sub, input/Cast_1)]]
W tensorflow/core/kernels/queue_ops.cc:79] Invalid argument: Shape mismatch in tuple component 0. Expected [3072], got [12288]
W tensorflow/core/common_runtime/executor.cc:1027] 0x7fa72aadb080 Compute status: Invalid argument: Shape mismatch in tuple component 0. Expected [3072], got [12288]
[[Node: input/shuffle_batch/random_shuffle_queue_enqueue = QueueEnqueue[Tcomponents=[DT_FLOAT, DT_INT32], timeout_ms=-1, _device="/job:localhost/replica:0/task:0/cpu:0"](input/shuffle_batch/random_shuffle_queue, input/sub, input/Cast_1)]]
W tensorflow/core/common_runtime/executor.cc:1027] 0x7fa72ad499a0 Compute status: Out of range: RandomSuffleQueue '_2_input/shuffle_batch/random_shuffle_queue' is closed and has insufficient elements (requested 100, current size 0)
[[Node: input/shuffle_batch = QueueDequeueMany[component_types=[DT_FLOAT, DT_INT32], timeout_ms=-1, _device="/job:localhost/replica:0/task:0/cpu:0"](input/shuffle_batch/random_shuffle_queue, input/shuffle_batch/n)]]
Traceback (most recent call last):
File "/Users/HANEL/Documents/my_cifar_train.py", line 110, in <module>
tf.app.run()
File "/Users/HANEL/tensorflow/lib/python2.7/site-packages/tensorflow/python/platform/default/_app.py", line 11, in run
sys.exit(main(sys.argv))
File "/Users/HANEL/my_cifar_train.py", line 107, in main
train()
File "/Users/HANEL/my_cifar_train.py", line 76, in train
_, loss_value = sess.run([train_op, loss])
File "/Users/HANEL/tensorflow/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 345, in run
results = self._do_run(target_list, unique_fetch_targets, feed_dict_string)
File "/Users/HANEL/tensorflow/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 419, in _do_run
e.code)
tensorflow.python.framework.errors.OutOfRangeError: RandomSuffleQueue '_2_input/shuffle_batch/random_shuffle_queue' is closed and has insufficient elements (requested 100, current size 0)
[[Node: input/shuffle_batch = QueueDequeueMany[component_types=[DT_FLOAT, DT_INT32], timeout_ms=-1, _device="/job:localhost/replica:0/task:0/cpu:0"](input/shuffle_batch/random_shuffle_queue, input/shuffle_batch/n)]]
Caused by op u'input/shuffle_batch', defined at:
File "/Users/HANEL/my_cifar_train.py", line 110, in <module>
tf.app.run()
File "/Users/HANEL/tensorflow/lib/python2.7/site-packages/tensorflow/python/platform/default/_app.py", line 11, in run
sys.exit(main(sys.argv))
File "/Users/HANEL/my_cifar_train.py", line 107, in main
train()
File "/Users/HANEL/my_cifar_train.py", line 39, in train
images, labels = my_input.inputs()
File "/Users/HANEL/my_input.py", line 157, in inputs
min_after_dequeue=200)
File "/Users/HANEL/tensorflow/lib/python2.7/site-packages/tensorflow/python/training/input.py", line 453, in shuffle_batch
return queue.dequeue_many(batch_size, name=name)
File "/Users/HANEL/tensorflow/lib/python2.7/site-packages/tensorflow/python/ops/data_flow_ops.py", line 245, in dequeue_many
self._queue_ref, n, self._dtypes, name=name)
File "/Users/HANEL/tensorflow/lib/python2.7/site-packages/tensorflow/python/ops/gen_data_flow_ops.py", line 319, in _queue_dequeue_many
timeout_ms=timeout_ms, name=name)
File "/Users/HANEL/tensorflow/lib/python2.7/site-packages/tensorflow/python/ops/op_def_library.py", line 633, in apply_op
op_def=op_def)
File "/Users
/HANEL/tensorflow/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 1710, in create_op
original_op=self._default_original_op, op_def=op_def)
File "/Users/HANEL/tensorflow/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 988, in __init__
self._traceback =
_extract_stack()
source d'informationauteur Hamed MP
Vous devez vous connecter pour publier un commentaire.
J'ai eu un problème similaire. Creuser autour de l'internet, il s'est avéré que si vous utilisez certains
num_epochs
argument, vous devez l'initialiser tous leslocal
variables, de sorte que votre code devrait ressembler à:Si vous poster un peu plus de code, je pourrais peut-être prendre un regard plus profond en elle. Dans l'intervalle, HTH.
Vous êtes susceptible de traitement de l'analyse TFRecord exemple de mal. E. g. en essayant de modifier la forme d'un tenseur d'une incompatibilité de taille. Vous pouvez déboguer à l'aide d'un tf_record_iterator pour confirmer les données que vous êtes en train de lire est stockée la façon dont vous pensez qu'il est:
Pour résumer les commentaires, les
a été causé par la file d'attente de l'exécution des données. Cela est souvent causé par la pensée à vous d'avoir suffisamment de données pour N itérations quand vraiment il y a juste assez pour M itérations où M < N.
Une suggestion pour déterminer la quantité de données dont vous avez réellement besoin est de compter combien de fois vous pouvez lire les données avant une OutOfRangeError exception est levée par la file d'attente.
J'ai eu exactement le même problème aujourd'hui et plus tard, j'ai trouvé que c'était le fichier de données d'entrée, j'ai téléchargé à partir de "célèbre jeu de données" (comme https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data) qui a provoqué l'erreur: Il a quelques lignes vides à la fin du fichier. Supprimer les lignes vides, l'erreur a disparu!
Cela pourrait aussi être causée par un mauvais tf enregistrement de nom de fichier qui n'existe pas du tout. Assurez-vous que vous avez la bonne chemins d'accès de fichier spécifié avant de procéder à d'autres vérifications.
J'ai eu ce même problème et aucune des réponses précédentes semblait résoudre donc je vais aussi carillon.
Pour moi le problème a fini par être la liste des fonctionnalités, j'étais de passage à parse_single_example. Pour quelque raison que ce soit (puisque je suis à l'aide d'un float_list ?) dans mon tfrecords fichier que j'ai besoin de spécifier la longueur du tableau dans ma liste de fonctionnalités ou l'utilisation de tf.VarLenFeature ie:
Sans cela, je continuais à garder le "random_shuffle_queue est fermé en a pas suffisamment d'éléments" erreur dont je devine que c'est parce que mon analysé exemple avait pas de données.