Cómo "restablecer" los datos de tensorboard después de matar la instancia de tensorflow


Estoy probando diferentes hiperparámetros para un modelo de cnn que construí, pero estoy teniendo una pequeña molestia al ver los resúmenes en Tensorboard. El problema parece ser que los datos solo se " agregan "en ejecuciones consecutivas, por lo que las funciones resultan en una superposición extraña a menos que vea la información como" relativa "en lugar de"por paso". Ver aquí:

Tipo de X: Paso

Tipo de X: Relativo

He intentado matar el proceso de tensorboard y borrar los archivos de registro, pero parece que lo es no lo suficiente.

Así que la pregunta es, ¿cómo puedo restablecer esta información?

Gracias!!

Author: mathetes, 2015-12-24

7 answers

Nota: La solución que ha publicado (borrar los archivos de registro de TensorBoard y matar el proceso) funcionará, pero no es preferible, porque destruye la información histórica sobre su formación.

En su lugar, puede hacer que cada nuevo trabajo de entrenamiento escriba en un nuevo subdirectorio (de su directorio de registro de nivel superior). Luego, TensorBoard considerará cada trabajo como una nueva "carrera" y creará una agradable vista de comparación para que pueda ver cómo el entrenamiento difería entre las iteraciones de su modelo.

Para una ejemplo, ver: https://www.tensorflow.org/tensorboard/

 24
Author: dandelion,
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-05-24 10:52:40

Ok, por alguna razón no funcionaba antes pero ahora sí:

Debe borrar los archivos de registro de Tensorboard Y matar a su proceso

Después de matar el proceso corre fuser 6006/tcp -k al puerto libre 6006 (si estás en linux) y dispara tensorboard de nuevo.

 15
Author: mathetes,
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-01-02 00:29:54

Sí, creo que en última instancia este aspecto es positivo.
Como ejemplo, en mi script automatizo nuevos registros de ejecución a través de datetime:

from datetime import datetime
now = datetime.now()
logdir = "tf_logs/.../" + now.strftime("%Y%m%d-%H%M%S") + "/"

Luego, al ejecutar TensorBoard, puede hacer clic en las diferentes ejecuciones activadas y desactivadas siempre que haya ejecutado TensorBoard en el directorio padre.

Si sabe que no le importa una ejecución anterior y la quiere fuera de su vida, entonces sí, necesita eliminar los archivos de eventos y soportar el inusualmente largo proceso de matar y reiniciar TensorBoard.

 11
Author: SuaveSouris,
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-10-20 21:43:32

Acabo de encontrar la solución a este problema. Solo pon cada evento.fuera de archivo en una carpeta separada dentro de su directorio de registro. Y obtendrá una buena visualización en tensorboard con cada ejecución en un color diferente.

 4
Author: Abdo Eldesokey,
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-10-27 14:03:59

Tuve un problema similar, pero con una duplicación de gráficos computacionales: acaban de agregar en tensorboard cuando llamé

writer.add_graph(graph=sess.graph)

En mi caso, no se trataba de archivos de registro, sino del contexto de Jupyter Notebook.

Me di cuenta de que después de varias ejecuciones de una celda de Jupyter con una definición de gráfico, el gráfico no se ha restablecido, sino que apareció en el contexto como un duplicado, así que agregué

tf.reset_default_graph()

Antes del inicio de la construcción de un gráfico computacional.

Espero que ayudar.

 3
Author: Стас Цепа,
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
2018-03-10 10:26:07

Agregue el siguiente fragmento a su código y debería restablecer automáticamente su tensorboard.

if tf.gfile.Exists(dirpath):
   tf.gfile.DeleteRecursively(dirpath) 

Esto eliminará los registros anteriores.

 0
Author: Prakash Vanapalli,
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-03-21 08:47:10

Esto elimina automáticamente el directorio de registro.

import shutil

shutil.rmtree('log_dir', ignore_errors=True)
 0
Author: user2386301,
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-09-22 12:21:59