Eliminar nodos del gráfico o restablecer todo el gráfico predeterminado
Cuando se trabaja con el gráfico global predeterminado, ¿es posible eliminar nodos después de que se han agregado, o alternativamente restablecer el gráfico predeterminado a vacío? Cuando trabajo con TF interactivamente en IPython, me encuentro teniendo que reiniciar el kernel repetidamente. Me gustaría poder experimentar con gráficos más fácilmente si es posible.
3 answers
Actualización 11/2/2016
tf.reset_default_graph()
Cosas Viejas
Hay reset_default_graph
, pero no es parte de la API pública (creo que debería serlo, ¿alguien quiere presentar un problema en GitHub?)
Mi trabajo para restablecer las cosas es este:
from tensorflow.python.framework import ops
ops.reset_default_graph()
sess = tf.InteractiveSession()
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-11-02 17:47:14
De forma predeterminada, una sesión se construye alrededor del gráfico predeterminado. Para evitar dejar nodos muertos en la sesión, debe controlar el gráfico predeterminado o usar un gráfico explícito.
-
Para borrar el gráfico predeterminado, puede usar el tf.función reset_default_graph.
tf.reset_default_graph() sess = tf.InteractiveSession()
-
También puede construir explícitamente un gráfico y evitar usar el predeterminado. Si utiliza un
Session
normal, necesitará crear completamente el gráfico antes de construir el sesion. ParaInteractiveSession
, simplemente puede declarar el gráfico y usarlo como contexto para declarar cambios adicionales:g = tf.Graph() sess = tf.InteractiveSession(graph=g) with g.asdefault(): # Put variable declaration and other tf operation # in the graph context .... b = tf.matmul(A, x) .... sess.run([b], ...)
EDITAR: Para versiones recientes de tensorflow
(1.0+), la función correcta es g.as_default
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-14 07:59:39
Las celdas de IPython / Jupyter notebook mantienen el estado entre corridas de una celda.
Crear un gráfico personalizado:
def main():
# Define your model
data = tf.placeholder(...)
model = ...
with tf.Graph().as_default():
main()
Una vez ejecutado, el gráfico se limpia.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-10-19 05:17:56