tutorial online guide example tensorflow tensorboard

online - Cómo "reiniciar" los datos del tensorboard después de matar la instancia de tensorflow



tensorflow guide (7)

Estoy probando diferentes hiperparámetros para un modelo de cnn que construí, pero tengo una pequeña molestia cuando veo los resúmenes en Tensorboard. El problema parece ser que los datos simplemente 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 "paso a paso". Mira aquí:

Intenté eliminar el proceso del tensor y borrar los archivos de registro, pero parece que no es suficiente.

Entonces la pregunta es, ¿cómo reinicio esta información?

¡¡Gracias!!


Acabo de descubrir la solución a este problema. Simplemente coloque cada archivo Events.out 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.


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

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

Esto eliminará los registros anteriores.


Esto elimina automáticamente el directorio de registro.

import shutil shutil.rmtree(''log_dir'', ignore_errors=True)


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

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

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


Ok, por alguna razón no funcionó antes, pero ahora lo hizo:

Debes borrar los archivos de registro de Tensorboard Y matar su proceso

Después de matar el proceso, ejecute el fuser 6006/tcp -k para liberar el puerto 6006 (si está en Linux) y vuelva a encender el tensor.


Sí, creo que finalmente 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, cuando ejecute TensorBoard, puede hacer clic en las diferentes ejecuciones, siempre y cuando ejecute TensorBoard en el directorio principal.

Si sabes que no te importa una pasada previa y quieres que desaparezca de tu vida, entonces sí, debes eliminar los archivos del evento y soportar el proceso inusualmente largo de matar y reiniciar TensorBoard.


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, pero 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 ayude