Creating a TensorBoard Logger

melissa.server.deep_learning.tensorboard.make_tb_logger(framework_t, rank=0, logdir='tensorboard', disable=False, debug=False)

Factory function to create a TensorBoard logger based on the specified deep learning framework.

Parameters
  • framework_t (FrameworkType): The type of framework (TORCH, TENSORFLOW, or DEFAULT).
  • rank (int, optional): Rank of the process (used for distributed training). Defaults to 0.
  • logdir (str, optional): Directory where TensorBoard logs are stored. Defaults to "tensorboard".
  • disable (bool, optional): If True, disables logging. Defaults to False.
  • debug (bool, optional): If True, enables debug mode for the logger. Defaults to False.
Returns
  • TensorboardLogger: An instance of the appropriate TensorBoard logger (TorchTensorboardLogger or TfTensorboardLogger).
Raises
  • ModuleNotFoundError: If DEFAULT is selected but neither PyTorch nor TensorFlow loggers are available.
  • ValueError: If an unsupported framework type is provided.

TensorBoard Logger Classes

melissa.server.deep_learning.tensorboard.base_logger.TensorboardLogger

Bases: ABC

log_scalar(tag, scalar_value, step) abstractmethod

Logs scalar to tensorboard logger.

Parameters
  • tag (str): Metric tag.
  • scalar_value (Any): Value to log.
  • step (int): Step number.

log_scalars(main_tag, tag_scalar_dict, step)

Logs several scalars with multi-tag to tensorboard logger.

Parameters
  • main_tag (str): The parent name for the tags.
  • tag_scalar_dict (dict): Key-value pair storing the tag and corresponding values.
  • step (int): Step number.

log_scalar_dbg(tag, scalar_value, step) abstractmethod

Logs debugging-related scalar to tensorboard logger.

Parameters
  • tag (str): Metric tag.
  • scalar_value (Any): Value to log.
  • step (int): Step number.

log_histogram(tag, values, step=None)

Logs histograms to tensorboard logger.

Parameters
  • tag (str): Metric tag.
  • values (Any): Values to log.
  • step (Optional[int]): Step number.

log_figure(tag, figure, step=None, close=True)

Render matplotlib figure into an image and add it to summary.

Parameters
  • tag (str): Figure identifier.
  • figure (Union[Figure, List[Figure]]): Figure or a list of figures.
  • step (Optional[int]): Step number.
  • close (bool) : Flag to automatically close the figure.

close()

Flushes and closes tensorboard logger.

melissa.server.deep_learning.tensorboard.torch_logger.TorchTensorboardLogger

melissa.server.deep_learning.tensorboard.tf_logger.TfTensorboardLogger

Bases: TensorboardLogger

__figure_to_image(figures, close=True)

Converts matplotlib figure(s) to a TensorFlow image tensor. Inspired from torch.utils.tensorboard._utils.figure_to_image.

Converting Logs to Pandas DataFrame

melissa.server.deep_learning.tensorboard.base_logger.convert_tb_logs_to_df(rank)

Converts local TensorBoard data into Pandas DataFrame. Saves the pandas dataframe as a pickle file inside out_dir/tensorboard.