Search code examples
pythontensorflowkerastensorboard

Set up tensorboard on Matterport - Mask RCNN


I am following this tutorial for image detection using Matterport repo. I tried following this guide and edited the code to

How can I edit the following code to visualize the tensorboard ?

import tensorflow as tf
import datetime
%load_ext tensorboard

sess = tf.Session()

file_writer = tf.summary.FileWriter('/path/to/logs', sess.graph)

And then in the model area

# prepare config
config = KangarooConfig()
config.display()

# define the model
model = MaskRCNN(mode='training', model_dir='./', config=config)
model.keras_model.metrics_tensors = []


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

# load weights (mscoco) and exclude the output layers
model.load_weights('mask_rcnn_coco.h5',
                   by_name=True,
                   exclude=[
                       "mrcnn_class_logits", "mrcnn_bbox_fc", "mrcnn_bbox",
                       "mrcnn_mask"
                   ])

# train weights (output layers or 'heads')
model.train(train_set,
            test_set,
            learning_rate=config.LEARNING_RATE,
            epochs=5,
            layers='heads')

I am not sure where to callbacks=[tensorboard_callback] ?


Solution

  • In your model.train, if you look closely in the source code documentation, there is parameter called custom_callbacks, which defaults to None.

    It is there where you need to write your code, so to train with a custom callback, you will need to add this line of code:

    model.train(train_set,
                test_set,
                learning_rate=config.LEARNING_RATE,
                custom_callbacks = [tensorboard_callback],
                epochs=5,
                layers='heads')