import os import shutil from pathlib import Path os.environ["KERAS_BACKEND"] = "tensorflow" os.environ["TF_CPP_MIN_LOG_LEVEL"] = "2" import keras import numpy as np keras.utils.set_random_seed(31) log_dir = Path("logs/tensorboard-demo") if log_dir.exists(): shutil.rmtree(log_dir) x_train = np.linspace(0.0, 1.0, 80, dtype="float32").reshape(20, 4) y_train = ((x_train[:, 0] + x_train[:, 1]) > 0.8).astype("float32") model = keras.Sequential( [ keras.Input(shape=(4,), name="features"), keras.layers.Dense(8, activation="relu"), keras.layers.Dense(1, activation="sigmoid"), ] ) model.compile( optimizer=keras.optimizers.Adam(learning_rate=0.03), loss=keras.losses.BinaryCrossentropy(), metrics=[keras.metrics.BinaryAccuracy(name="accuracy")], ) callback = keras.callbacks.TensorBoard( log_dir=log_dir, histogram_freq=0, write_graph=False, update_freq="epoch", ) history = model.fit(x_train, y_train, epochs=2, batch_size=5, callbacks=[callback], verbose=0) event_files = sorted(path for path in log_dir.rglob("events.out.tfevents.*") if path.is_file()) print(f"backend: {keras.backend.backend()}") print(f"log directory: {log_dir}") print(f"epochs completed: {len(history.history['loss'])}") print(f"event files: {len(event_files)}") print(f"first event file: {event_files[0] if event_files else 'none'}") print(f"view command: tensorboard --logdir {log_dir}")