12
votes

Tensorflow Enqueue Fonctionnement a été annulé

J'avais construit un réseau de neurones convolutionnaires dans Tensorflow. Il est formé et maintenant je le décompresse et effectuant des évaluations.

W tensorflow/core/kernels/queue_base.cc:2
W tensorflow/core/kernels/queue_base.cc:294] _0_input_producer: Skipping cancelled enqueue attempt with queue not closed
W tensorflow/core/kernels/queue_base.cc:294] _1_batch/fifo_queue: Skipping cancelled enqueue attempt with queue not closed
E tensorflow/core/client/tensor_c_api.cc:485] Enqueue operation was cancelled
     [[Node: batch/fifo_queue_enqueue = QueueEnqueue[Tcomponents=[DT_FLOAT, DT_INT32], _class=["loc:@batch/fifo_queue"], timeout_ms=-1, _device="/job:localhost/replica:0/task:0/cpu:0"](batch/fifo_queue, Cast_1, Cast)]]
E tensorflow/core/client/tensor_c_api.cc:485] Enqueue operation was cancelled
     [[Node: batch/fifo_queue_enqueue = QueueEnqueue[Tcomponents=[DT_FLOAT, DT_INT32], _class=["loc:@batch/fifo_queue"], timeout_ms=-1, _device="/job:localhost/replica:0/task:0/cpu:0"](batch/fifo_queue, Cast_1, Cast)]]
E tensorflow/core/client/tensor_c_api.cc:485] Enqueue operation was cancelled
     ....
     [[Node: batch/fifo_queue_enqueue = QueueEnqueue[Tcomponents=[DT_FLOAT, DT_INT32], _class=["loc:@batch/fifo_queue"], timeout_ms=-1, _device="/job:localhost/replica:0/task:0/cpu:0"](batch/fifo_queue, Cast_1, Cast)]]
E tensorflow/core/client/tensor_c_api.cc:485] Enqueue operation was cancelled
     [[Node: batch/fifo_queue_enqueue = QueueEnqueue[Tcomponents=[DT_FLOAT, DT_INT32], _class=["loc:@batch/fifo_queue"], timeout_ms=-1, _device="/job:localhost/replica:0/task:0/cpu:0"](batch/fifo_queue, Cast_1, Cast)]]
W tensorflow/core/kernels/queue_base.cc:294] _1_batch/fifo_queue: Skipping cancelled enqueue attempt with queue not closed
...
W tensorflow/core/kernels/queue_base.cc:294] _1_batch/fifo_queue: Skipping cancelled enqueue attempt with queue not closed
E tensorflow/core/client/tensor_c_api.cc:485] Enqueue operation was cancelled


5 commentaires

C'est un message d'information inoffensif qui a été supprimé dans les versions plus récentes de Tensorflow


J'ai Tensorflow 9.0. Quelle est la dernière version et la construction nocturne. En outre, cela ne me laissera pas continuer à exécuter le programme.


Ce n'est pas clair que ce message indique une erreur. Je l'ignorerais et j'essaie de déboguer le problème réel. C'est-à-dire que les coureurs de la file d'attente s'effacent quelque chose sur les files d'attente (regardez la file d'attente.Size () après les démarrer)?


Eh bien, je vais copier et coller toute l'erreur pour vous donner une réponse claire. Je ne pense pas qu'ils réussissent à le faire correctement.


Laissez-nous Continuez cette discussion dans le chat .


3 Réponses :


23
votes

Mise à jour de la discussion - Le programme s'exécute avec succès et les messages imprimés sont dus aux fils de tuerie Python lorsqu'ils sont exécutés comme les sorties de processus.

Les messages sont inoffensifs, mais il est possible de les éviter en arrêtant des threads manuellement en utilisant le motif ci-dessous. xxx


1 commentaires

Je l'obtiens toujours à Tensorflow 1.1, une raison pour laquelle il est toujours là?



0
votes

Tout fonctionne correctement et le problème se produit à la dernière étape lorsque Python essaie de tuer des fils. Pour ce faire correctement, vous devez créer un Train.coordinator code> et transmettez-le à votre Queue_Runner CODE> (pas besoin de passer SESS, car la session par défaut sera utilisée

with tf.Session() as sess:
    coord = tf.train.Coordinator()
    threads = tf.train.start_queue_runners(coord=coord)
    // do your things
    coord.request_stop()
    coord.join(threads)


0 commentaires

0
votes

Un moyen d'ajouter des coords avec une manipulation des exceptions: xxx

puis bug fixe: -)


0 commentaires