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
, orDEFAULT
). - rank (
int
, optional): Rank of the process (used for distributed training). Defaults to0
. - logdir (
str
, optional): Directory where TensorBoard logs are stored. Defaults to"tensorboard"
. - disable (
bool
, optional): IfTrue
, disables logging. Defaults toFalse
. - debug (
bool
, optional): IfTrue
, enables debug mode for the logger. Defaults toFalse
.
Returns¶
TensorboardLogger
: An instance of the appropriate TensorBoard logger (TorchTensorboardLogger
orTfTensorboardLogger
).
Raises¶
ModuleNotFoundError
: IfDEFAULT
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¶
Bases: TensorboardLogger
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.