我想将项目入队,关闭队列以确保其他会话将所有剩余项目出队,然后在下一个纪元稍后重新打开它。这可能吗?
q = tf.FIFOQueue(...)
close_q = q.close()
reopen_q = #???
with tf.Session([...]) as sess:
[...]
sess.run(close_q)
[...]
sess.run(reopen_q)
无法重新打开关闭的队列,但是(仅当您使用多个会话时)有一个解决方法:
在中创建您的队列with tf.container(name): https://www.tensorflow.org/versions/r0.10/api_docs/python/framework.html#container仅包装队列的块,以及name
不用于任何其他tf.container()
blocks.
在您想要重新打开队列之前,请致电tf.Session.reset(..., [name]) https://www.tensorflow.org/versions/r0.10/api_docs/python/client.html#Session.reset, where name
是您在步骤 1 中创建的容器的名称。这将导致队列在下次使用时重新创建,并且它将处于打开状态。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)