Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Multithreading 张量流队列未关闭。tf.train.start\u queue\u跑步者(SES)出现问题_Multithreading_Tensorflow_Queue_Batching - Fatal编程技术网

Multithreading 张量流队列未关闭。tf.train.start\u queue\u跑步者(SES)出现问题

Multithreading 张量流队列未关闭。tf.train.start\u queue\u跑步者(SES)出现问题,multithreading,tensorflow,queue,batching,Multithreading,Tensorflow,Queue,Batching,在运行测试CNN时,当尝试使用sess.close()关闭会话或请求toe coordinator停止并收集线程时,我总是会遇到此错误。显然,会话正在试图关闭,而线程仍在运行。我就是找不到办法阻止这种事情发生。或者如果有更好/正确的方法在tensor flow中使用队列和线程 提前谢谢 总有一堆: 2017-10-24 15:48:02.625448: W C:\tf_jenkins\home\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\co

在运行测试CNN时,当尝试使用
sess.close()
关闭会话或请求toe coordinator停止并收集线程时,我总是会遇到此错误。显然,会话正在试图关闭,而线程仍在运行。我就是找不到办法阻止这种事情发生。或者如果有更好/正确的方法在tensor flow中使用队列和线程

提前谢谢

总有一堆:

2017-10-24 15:48:02.625448: W C:\tf_jenkins\home\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\kernels\queue_base.cc:295] _20_input_p
roducer/input_producer: Skipping cancelled enqueue attempt with queue not closed
其次是:

ERROR:tensorflow:Exception in QueueRunner: Enqueue operation was cancelled
         [[Node: batch/fifo_queue_enqueue = QueueEnqueueV2[Tcomponents=[DT_FLOAT, DT_FLOAT], timeout_ms=-1, _device="/job:localhost/replica:0
/task:0/cpu:0"](batch/fifo_queue, Squeeze_1/_13, input_producer_1/Gather_1/_15)]]
Traceback (most recent call last):
  File "<stdin>", line 30, in <module>
ERROR:tensorflow:Exception in QueueRunner: Enqueue operation was cancelled
         [[Node: batch_1/fifo_queue_enqueue = QueueEnqueueV2[Tcomponents=[DT_FLOAT, DT_FLOAT], timeout_ms=-1, _device="/job:localhost/replica
:0/task:0/cpu:0"](batch_1/fifo_queue, Squeeze/_37, input_producer/Gather_1/_39)]]
ERROR:tensorflow:Exception in QueueRunner: Enqueue operation was cancelled
         [[Node: batch_1/fifo_queue_enqueue = QueueEnqueueV2[Tcomponents=[DT_FLOAT, DT_FLOAT], timeout_ms=-1, _device="/job:localhost/replica
:0/task:0/cpu:0"](batch_1/fifo_queue, Squeeze/_37, input_producer/Gather_1/_39)]]
Exception in thread Thread-53:
Traceback (most recent call last):
  File "C:\Program Files\Anaconda3\lib\threading.py", line 916, in _bootstrap_inner
    self.run()
  File "C:\Program Files\Anaconda3\lib\threading.py", line 864, in run
    self._target(*self._args, **self._kwargs)
  File "C:\Program Files\Anaconda3\lib\site-packages\tensorflow\python\training\queue_runner_impl.py", line 238, in _run
    enqueue_callable()
  File "C:\Program Files\Anaconda3\lib\site-packages\tensorflow\python\client\session.py", line 1235, in _single_operation_run
    target_list_as_strings, status, None)
  File "C:\Program Files\Anaconda3\lib\contextlib.py", line 89, in __exit__
    next(self.gen)
  File "C:\Program Files\Anaconda3\lib\site-packages\tensorflow\python\framework\errors_impl.py", line 466, in raise_exception_on_not_ok_stat
us

对不起,我太笨了!哈哈

发现一个大错误,问题是我正在创建协调器,但没有在队列运行器中调用它。就是这样,

# Start the data queue
coord = tf.train.Coordinator()
threads = tf.train.start_queue_runners(sess)
应该是这样的:

# Start the data queue
coord = tf.train.Coordinator()
threads = tf.train.start_queue_runners(sess, coord)

现在代码正在停止线程并在最后收集它

对不起,我太笨了!哈哈

发现一个大错误,问题是我正在创建协调器,但没有在队列运行器中调用它。就是这样,

# Start the data queue
coord = tf.train.Coordinator()
threads = tf.train.start_queue_runners(sess)
应该是这样的:

# Start the data queue
coord = tf.train.Coordinator()
threads = tf.train.start_queue_runners(sess, coord)
现在代码正在停止线程并在最后收集它