Search code examples
pythontensorflowkerastensorboard

Visualizing histogram_freq in Tensorboard


When executing the following

# Tensorflow board
log_dir="logs" + datetime.datetime.now().strftime("%Y%m%d-%H%M%S")
tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=log_dir,histogram_freq=1)

I get the following

TypeError: Value passed to parameter 'values' has DataType bool not in list of allowed values: float32, float64, int32, uint8, int16, int8, int64, bfloat16, uint16, float16, uint32, uint64

When I remove histogram_freq=1, it fixes the issue. Is there way to visualize histogram_freq=1 ? without that error being thrown ?


Solution

  • histogram_freq = 1 enables Visualization of Histogram computation every epoch.

    Since complete code is not present in the question, mentioning the Complete Sample Code in which Weights and Biases are Visualized with histogram_freq = 1.

    # Load the TensorBoard notebook extension
    %load_ext tensorboard
    
    import tensorflow as tf
    import datetime
    
    # Clear any logs from previous runs
    !rm -rf ./logs/ 
    
    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')
      ])
    
    model = create_model()
    model.compile(optimizer='adam',
                  loss='sparse_categorical_crossentropy',
                  metrics=['accuracy'])
    
    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])
    
    %tensorboard --logdir logs/fit
    

    The Histogram of Weights and Biases with histogram_freq = 1 is shown below:

    enter image description here

    For more information, please refer this Tutorial on Tensorboard.

    Please let me know if you face any other error, along with complete reproducible code and I will be Happy to help you.

    Hope this helps. Happy Learning!