queue tensorflow

queue - ¿Se puede volver a abrir una cola de TensorFlow después de cerrarla?



(1)

Me gustaría poner elementos en cola, cerrar la cola para asegurar que otras sesiones dequeue todos los elementos restantes, luego volver a abrir más tarde para la próxima época. es posible?

q = tf.FIFOQueue(...) close_q = q.close() reopen_q = #??? with tf.Session([...]) as sess: [...] sess.run(close_q) [...] sess.run(reopen_q)


No hay forma de volver a abrir una cola cerrada, pero (solo si está utilizando varias sesiones) existe una solución alternativa ::

  1. Cree su cola en a with tf.container(name): bloque que envuelve solo las colas, y donde el name no se usa para ningún otro tf.container() .

  2. Antes de volver a abrir la cola, llame a tf.Session.reset(..., [name]) , donde name es el nombre del contenedor que creó en el paso 1. Esto hará que la cola se vuelva a crear en su próximo uso. , y estará en el estado abierto.