Make TensorBoardLogger default version creation ascii sortable
jdenhof opened this issue · 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