mirror of
https://github.com/huggingface/lerobot.git
synced 2026-05-21 11:39:50 +00:00
fix(wandb): truncate init tags to 64-character limit (#995)
This commit is contained in:
@@ -26,8 +26,21 @@ from lerobot.configs.train import TrainPipelineConfig
|
|||||||
from lerobot.utils.constants import PRETRAINED_MODEL_DIR
|
from lerobot.utils.constants import PRETRAINED_MODEL_DIR
|
||||||
|
|
||||||
|
|
||||||
def cfg_to_group(cfg: TrainPipelineConfig, return_list: bool = False) -> list[str] | str:
|
def cfg_to_group(
|
||||||
|
cfg: TrainPipelineConfig, return_list: bool = False, truncate_tags: bool = False, max_tag_length: int = 64
|
||||||
|
) -> list[str] | str:
|
||||||
"""Return a group name for logging. Optionally returns group name as list."""
|
"""Return a group name for logging. Optionally returns group name as list."""
|
||||||
|
|
||||||
|
def _maybe_truncate(tag: str) -> str:
|
||||||
|
"""Truncate tag to max_tag_length characters if required.
|
||||||
|
|
||||||
|
wandb rejects tags longer than 64 characters.
|
||||||
|
See: https://github.com/wandb/wandb/blob/main/wandb/sdk/wandb_settings.py
|
||||||
|
"""
|
||||||
|
if len(tag) <= max_tag_length:
|
||||||
|
return tag
|
||||||
|
return tag[:max_tag_length]
|
||||||
|
|
||||||
lst = [
|
lst = [
|
||||||
f"policy:{cfg.policy.type}",
|
f"policy:{cfg.policy.type}",
|
||||||
f"seed:{cfg.seed}",
|
f"seed:{cfg.seed}",
|
||||||
@@ -36,6 +49,8 @@ def cfg_to_group(cfg: TrainPipelineConfig, return_list: bool = False) -> list[st
|
|||||||
lst.append(f"dataset:{cfg.dataset.repo_id}")
|
lst.append(f"dataset:{cfg.dataset.repo_id}")
|
||||||
if cfg.env is not None:
|
if cfg.env is not None:
|
||||||
lst.append(f"env:{cfg.env.type}")
|
lst.append(f"env:{cfg.env.type}")
|
||||||
|
if truncate_tags:
|
||||||
|
lst = [_maybe_truncate(tag) for tag in lst]
|
||||||
return lst if return_list else "-".join(lst)
|
return lst if return_list else "-".join(lst)
|
||||||
|
|
||||||
|
|
||||||
@@ -83,7 +98,7 @@ class WandBLogger:
|
|||||||
entity=self.cfg.entity,
|
entity=self.cfg.entity,
|
||||||
name=self.job_name,
|
name=self.job_name,
|
||||||
notes=self.cfg.notes,
|
notes=self.cfg.notes,
|
||||||
tags=cfg_to_group(cfg, return_list=True),
|
tags=cfg_to_group(cfg, return_list=True, truncate_tags=True),
|
||||||
dir=self.log_dir,
|
dir=self.log_dir,
|
||||||
config=cfg.to_dict(),
|
config=cfg.to_dict(),
|
||||||
# TODO(rcadene): try set to True
|
# TODO(rcadene): try set to True
|
||||||
|
|||||||
Reference in New Issue
Block a user