He construido una red neuronal con Keras. Visualizaría sus datos por Tensorboard, por lo tanto, he utilizado:
keras.callbacks.TensorBoard(log_dir='/Graph', histogram_freq=0,
write_graph=True, write_images=True)
como se explica en keras.io . Cuando ejecuto la devolución de llamada obtengo <keras.callbacks.TensorBoard at 0x7f9abb3898>
, pero no obtengo ningún archivo en mi carpeta "Graph". ¿Hay algo mal en cómo he usado esta devolución de llamada?
keras
tensorboard
Simone
fuente
fuente
histogram_freq
a1
. "histogram_freq: frecuencia (en épocas) en la que se calculan los histogramas de activación para las capas del modelo. Si se establece en 0, los histogramas no se calcularán".Respuestas:
Esta línea crea un objeto de Tensorboard de devolución de llamada, debe capturar ese objeto y asignarlo a la
fit
función de su modelo.De esta manera le dio su objeto de devolución de llamada a la función. Se ejecutará durante el entrenamiento y generará archivos que se pueden usar con el tensorboard.
Si desea visualizar los archivos creados durante el entrenamiento, ejecute en su terminal
Espero que esto ayude !
fuente
Así es como se usa la devolución de llamada TensorBoard :
fuente
histogram_freq=0
se establece si el tensorboard no registra ningún histogramatf.summary.histogram
; de lo contrariohistogram_freq
, NO es igual a 0.Cambio
a
y configura tu modelo
Corre en tu terminal
fuente
AttributeError: 'TensorBoard' object has no attribute 'set_model'
.Si está trabajando con la biblioteca Keras y desea utilizar el tensorboard para imprimir sus gráficos de precisión y otras variables, a continuación se detallan los pasos a seguir.
Paso 1: Inicialice la biblioteca de devolución de llamada de Keras para importar el tensorboard mediante el siguiente comando
Paso 2: incluye el siguiente comando en tu programa justo antes del comando "model.fit ()".
Nota: Use "./graph". Generará la carpeta de gráficos en su directorio de trabajo actual, evite usar "/ graph".
Paso 3: Incluir la devolución de llamada de Tensorboard en "model.fit ()". El ejemplo se muestra a continuación.
Paso 4: Ejecute su código y verifique si su carpeta de gráficos está allí en su directorio de trabajo. si los códigos anteriores funcionan correctamente, tendrá la carpeta "Graph" en su directorio de trabajo.
Paso 5: Abra la Terminal en su directorio de trabajo y escriba el comando a continuación.
Paso 6: Ahora abre tu navegador web e ingresa la dirección a continuación.
Después de ingresar, se abrirá la página Tensorbaord donde podrá ver sus gráficos de diferentes variables.
fuente
histogram_freq=0
se establece si el tensorboard no registra ningún histogramatf.summary.histogram
; de lo contrariohistogram_freq
, NO es igual a 0.Aquí hay un código:
Básicamente,
histogram_freq=2
es el parámetro más importante para sintonizar al llamar a esta devolución de llamada: establece un intervalo de épocas para llamar a la devolución de llamada, con el objetivo de generar menos archivos en los discos.Así que aquí hay un ejemplo de visualización de la evolución de los valores para la última convolución durante el entrenamiento, una vez visto en TensorBoard, debajo de la pestaña "histogramas" (y encontré que la pestaña "distribuciones" contiene gráficos muy similares, pero volteados al costado):
En caso de que desee ver un ejemplo completo en contexto, puede consultar este proyecto de código abierto: https://github.com/Vooban/Hyperopt-Keras-CNN-CIFAR-100
fuente
Si está utilizando google-colab, la visualización simple del gráfico sería:
fuente
Escribiste
log_dir='/Graph'
, ¿querías decir en su./Graph
lugar? Lo enviaste/home/user/Graph
en este momento.fuente
/Graph
crear una carpeta en el directorio de inicio del usuario en lugar de usarla/Graph
directamente?Debe consultar Losswise ( https://losswise.com ), tiene un complemento para Keras que es más fácil de usar que Tensorboard y tiene algunas características adicionales agradables. Con Losswise solo usarías
from losswise.libs import LosswiseKerasCallback
y luegocallback = LosswiseKerasCallback(tag='my fancy convnet 1')
estarás listo (ver https://docs.losswise.com/#keras-plugin ).fuente
Hay pocas cosas
Primero no
/Graph
pero./Graph
En segundo lugar, cuando usa la devolución de llamada TensorBoard, siempre pase los datos de validación, porque sin ella, no comenzaría.
En tercer lugar, si desea usar cualquier cosa excepto resúmenes escalares, entonces solo debe usar el
fit
método porquefit_generator
no funcionará. O puede reescribir la devolución de llamada para trabajarfit_generator
.Para agregar devoluciones de llamada, solo agréguela a
model.fit(..., callbacks=your_list_of_callbacks)
fuente
Cree la devolución de llamada de Tensorboard:
Pase la devolución de llamada de Tensorboard a la llamada de ajuste:
Al ejecutar el modelo, si obtiene un error de Keras de
intente restablecer la sesión de Keras antes de la creación del modelo haciendo:
fuente
You must feed a value for placeholder tensor
. ¿Alguna idea de por qué?