We can easily visualize our neural networks written by TensorFlow in a graph format with TensorBoard (it can more actually).
https://www.tensorflow.org/tensorboard/get_started
As of 2020/07/09, TensorBoard is installed when you install TensorFlow with pip.
pip install -U tensorboard <- it already installed when you install tensorflow with pip.
it coflict and cause problem
First, create a smiple model.
mnist = tf.keras.datasets.mnist
(x_train, y_train),(x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0
def create_model():
return tf.keras.models.Sequential([
tf.keras.layers.Flatten(input_shape=(28, 28)),
tf.keras.layers.Dense(512, activation='relu'),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(10, activation='softmax')
])
Before training, set a callback tf.keras.callbacks.TensorBoard
so that we can save the trained model.
# Tested at jupyter notebook
log_dir = "logs/fit/" + datetime.datetime.now().strftime("%Y%m%d-%H%M%S")
tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=log_dir, histogram_freq=1)
model.fit(x=x_train,
y=y_train,
epochs=5,
validation_data=(x_test, y_test),
callbacks=[tensorboard_callback])
%load_ext tensorboard
%tensorboard --logdir /path/to/logs
TensorBoard runs on port 6006.
Don’t forget to open port like ufw allow 6006/tcp
.
If you write in jupyter notebook, %tensorboard --logdir /path/to/logs
returns localhost:6006
on the cell output.
GRAPH tab is helpful.
When your TensorBoard doesn’t run because of process number issue, try follows (tensorboard-intro
is your jupyter project name.)
rm -rf /tmp/.tensorboard-info