pytorch-lightning icon indicating copy to clipboard operation
pytorch-lightning copied to clipboard

Make TensorBoardLogger default version creation ascii sortable

Open jdenhof opened this issue 1 year ago • 0 comments

Description & Motivation

Make it so it by default when opening Tensorboard in the default log directory runs are stored in ascending or descending order.

Pitch

The current TensorBoardLogger default version stamping does not provide a graceful view when sorting experiment runs from TensorBoard.

I think this could be easily solved by putting a default parameter for the TensorBoardLogger, something like n_version_placeholders = 4, and changing the default when getting the log_dir:

    def log_dir(self) -> str:
        """The directory for this run's tensorboard checkpoint.

        By default, it is named ``'version_${self.version}'`` but it can be overridden by passing a string value for the
        constructor's version parameter instead of ``None`` or an int.

        """

        # CHANGED else f"version_{self.version}" to  f"version_{self.version:0{self.n_version_placeholders}d}"
        version = self.version if isinstance(self.version, str) else f"version_{self.version:0{self.n_version_placeholders}d}"
        log_dir = os.path.join(self.root_dir, version)
        if isinstance(self.sub_dir, str):
            log_dir = os.path.join(log_dir, self.sub_dir)
        log_dir = os.path.expandvars(log_dir)
        log_dir = os.path.expanduser(log_dir)
        return log_dir

Alternatives

timestamps...? I don't like timestamps as they are messy but would do the trick.

cc @borda

jdenhof avatar Jun 06 '24 18:06 jdenhof