Saltar al contenido

¿Cómo graficar el modelo tf.keras en Tensorflow-2.0?

Te doy la bienvenida a nuestra página, aquí encontrarás la respuesta de lo que buscabas.

Solución:

Puedes visualizar la gráfica de cualquier tf.function función decorada, pero primero hay que rastrear su ejecución.

Visualizar el gráfico de un modelo de Keras significa visualizar su call método.

Por defecto, este método no es tf.function decorado y, por lo tanto, debe envolver la llamada del modelo en una función correctamente decorada y ejecutarla.

import tensorflow as tf

model = tf.keras.Sequential(
    [
        tf.keras.layers.Flatten(input_shape=(28, 28)),
        tf.keras.layers.Dense(32, activation="relu"),
        tf.keras.layers.Dropout(0.2),
        tf.keras.layers.Dense(10, activation="softmax"),
    ]
)


@tf.function
def traceme(x):
    return model(x)


logdir = "log"
writer = tf.summary.create_file_writer(logdir)
tf.summary.trace_on(graph=True, profiler=True)
# Forward pass
traceme(tf.zeros((1, 28, 28, 1)))
with writer.as_default():
    tf.summary.trace_export(name="model_trace", step=0, profiler_outdir=logdir)

De acuerdo con los documentos, puede usar Tensorboard para visualizar gráficos una vez que su modelo haya sido entrenado.

Primero, defina su modelo y ejecútelo. Luego, abra Tensorboard y cambie a la pestaña Gráfico.


Ejemplo compilable mínimo

Este ejemplo está tomado de los documentos. Primero, defina su modelo y datos.

# Relevant imports.
%load_ext tensorboard

from __future__ import absolute_import
from __future__ import division
from __future__ import print_function

from datetime import datetime
from packaging import version

import tensorflow as tf
from tensorflow import keras

# Define the model.
model = keras.models.Sequential([
    keras.layers.Flatten(input_shape=(28, 28)),
    keras.layers.Dense(32, activation='relu'),
    keras.layers.Dropout(0.2),
    keras.layers.Dense(10, activation='softmax')
])

model.compile(
    optimizer='adam',
    loss='sparse_categorical_crossentropy',
    metrics=['accuracy'])

(train_images, train_labels), _ = keras.datasets.fashion_mnist.load_data()
train_images = train_images / 255.0

A continuación, entrene a su modelo. Aquí, deberá definir una devolución de llamada para que Tensorboard la use para visualizar estadísticas y gráficos.

# Define the Keras TensorBoard callback.
logdir="logs/fit/" + datetime.now().strftime("%Y%m%d-%H%M%S")
tensorboard_callback = keras.callbacks.TensorBoard(log_dir=logdir)

# Train the model.
model.fit(
    train_images,
    train_labels, 
    batch_size=64,
    epochs=5, 
    callbacks=[tensorboard_callback])

Después del entrenamiento, en su cuaderno, ejecute

%tensorboard --logdir logs

Y cambie a la pestaña Gráfico en la barra de navegación:

ingrese la descripción de la imagen aquí

Verá un gráfico que se parece mucho a este:

ingrese la descripción de la imagen aquí

Si crees que te ha resultado de provecho este post, sería de mucha ayuda si lo compartes con otros desarrolladores y nos ayudes a dar difusión a nuestro contenido.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *