Exemplo de uso de TensorBoardIntroPasso 1: Configurar o Modelo com RMSpropPasso 2: Configurar o TensorBoardPasso 3: Treinar o Modelo e Gerar LogsPasso 4: Visualizar no TensorBoard5. Dashboards do TensorBoard1. Gráfico de Loss (MSE): Treino vs Validação2. Taxa de Aprendizado Adaptativa (RMSprop)3. Momentum (Se Habilitado no RMSprop)4. Histogramas de Pesos e GradientesExemplos de Saídas gráficas usando TensorBoardReferênciasDicas Adicionais
O TensorBoard é uma ferramenta de visualização integrada ao TensorFlow/Keras que permite monitorar métricas, pesos, gradientes e hiperparâmetros (como taxa de aprendizado e momentum) em tempo real durante o treinamento.
Abaixo, segue um exemplo completo para gerar dashboards com:
ximport tensorflow as tffrom tensorflow.keras.models import Sequentialfrom tensorflow.keras.layers import Densefrom tensorflow.keras.optimizers import RMSpropfrom tensorflow.keras.callbacks import TensorBoard# Criar um modelo simples (regressão)model = Sequential([ Dense(64, activation='relu', input_shape=(10,)), # Exemplo: 10 features Dense(1) # Saída linear (MSE)])# Usar RMSprop com momentum (opcional)optimizer = RMSprop( learning_rate=0.01, rho=0.9, # Decaimento da média móvel (equivalente ao γ do RMSprop) momentum=0.3, # Se > 0, habilita momentum epsilon=1e-8)model.compile(optimizer=optimizer, loss='mse') # MSE para regressãoxxxxxxxxxx# Diretório para salvar logs (o TensorBoard lê deste diretório)log_dir = "logs/fit/" + datetime.datetime.now().strftime("%Y%m%d-%H%M%S")# Callback do TensorBoardtensorboard_callback = TensorBoard( log_dir=log_dir, histogram_freq=1, # Log de histogramas de pesos/gradientes (a cada época) profile_batch=0, # Desativar profiling para evitar overhead update_freq='epoch', # Atualizar logs a cada época write_graph=True # Visualizar o grafo do modelo)# Adicionar outros callbacks se necessário (ex.: EarlyStopping)callbacks = [tensorboard_callback]xxxxxxxxxxhistory = model.fit( x_train, y_train, validation_data=(x_val, y_val), epochs=100, batch_size=32, callbacks=callbacks)Execute no terminal:
xxxxxxxxxxtensorboard --logdir logs/fit/Acesse http://localhost:6006/ no navegador.
Aba "Scalars":
loss (treino) e val_loss (validação) em tempo real. val_loss parar de cair enquanto loss continua diminuindo. Custom Scalar:
Para logar a taxa de aprendizado efetiva por parâmetro, adicione um callback personalizado:
xxxxxxxxxxclass LRLogger(tf.keras.callbacks.Callback): def on_epoch_end(self, epoch, logs=None): lr = tf.keras.backend.get_value(self.model.optimizer.learning_rate) tf.summary.scalar('learning_rate', lr, step=epoch)callbacks.append(LRLogger())No TensorBoard, veja a curva em "Scalars" > "learning_rate".
Similar à taxa de aprendizado, adicione um callback para logar momentum:
xxxxxxxxxxclass MomentumLogger(tf.keras.callbacks.Callback): def on_epoch_end(self, epoch, logs=None): momentum = tf.keras.backend.get_value(self.model.optimizer.momentum) tf.summary.scalar('momentum', momentum, step=epoch)callbacks.append(MomentumLogger())Aba "Histograms":
histogram_freq=1). Primeiros Passos (Get Started):

Escalares e métricas (Scalars & Keras):

Dados de imagens (Image summaries):

Grafos de modelos (Graphs):

Ajuste de Hiperparâmetros (Hyperparameters tunning):

Dados do TensorBoard como Data Frames (visualizações personalizadas):

Obs.: Imagens ilustrativas do TensorFlow Guide.
TensorFlow Guide - TensorBoard Tutorial.
Keras Documentation - RMSprop Optimizer.
TensorBoard tutorial (Deep dive with examples and notebook), Kamanda Wycliffe, Machine learning nuggets (acessado em 10/06/2025).
Edward Tensorboard, (acessado em 10/06/2025)
momentum=0), ignore os logs de momentum. rho no RMSprop, ele controla a adaptação da taxa de aprendizado (não é momentum). tf.summary para logar métricas personalizadas (ex.: gradientes médios). Com isso, você eventualmente terá um dashboard completo para debug e análise do treinamento!
Itens sugeridos:
Épocas, batches e mini-batches | Keras e épocas, batches, taxas de aprendizado, etc.
Fernando Passold, em 10/06/2025