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:
Verá un gráfico que se parece mucho a este:
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.