This guide will show our users how to use the TensorFlow Profiler to profile the execution of your TensorFlow code.

Code example

Copy and paste the following code into tf-profile.py.

from datetime import datetime
import os
import tensorflow

from tensorflow.keras.datasets import mnist
from tensorflow import keras
from tensorflow.keras import layers

(train_images, train_labels), (test_images, test_labels) = mnist.load_data()

model = keras.Sequential([
    layers.Dense(512, activation="relu"),
    layers.Dense(10, activation="softmax")


train_images = train_images.reshape((60000, 28 * 28))
train_images = train_images.astype("float32") / 255
test_images = test_images.reshape((10000, 28 * 28))
test_images = test_images.astype("float32") / 255

# Create a TensorBoard callback
logs = "logs/" + datetime.now().strftime("%Y%m%d-%H%M%S")

tboard_callback = tensorflow.keras.callbacks.TensorBoard(log_dir = logs,
                                                 histogram_freq = 1,
                                                 profile_batch = '10,20')

          callbacks = [tboard_callback])

The tensorflow.keras.callbacks.TensorBoard command will create a tensorboard callback and profile_batch will pick batch number 10 to batch number 20.

Local profiling on your own computer

  1. Run the code with command 

    python tf-profile.py

  2. Compress the logs folder 

    tar -zcvf ./logs.tar.gz ./logs

  3. Download the tarball file with sftp and/or hal-ondemand.

  4. Decompress the tarball file

    tar -zxvf ./logs.tar.gz

  5. Install the tensorboard profile plugin in your python environment.

    pip install tensorboard_plugin_profile

  6. Launch the tensorboard with profiler installed.

    tensorboard --logdir ./logs

  7. Open the tensorboard dashboard in your web browser. (Google Chrome is strongly recommended)

Remote Profiling on HAL system

Coming soon...