From 73ac4f38b2af1276241c99998aa46fb93e9e50e1 Mon Sep 17 00:00:00 2001 From: Simon Alibert Date: Thu, 8 May 2025 12:59:15 +0200 Subject: [PATCH] Fix config parsing --- lerobot/configs/parser.py | 1 - lerobot/configs/policies.py | 3 ++- lerobot/configs/train.py | 5 ++--- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/lerobot/configs/parser.py b/lerobot/configs/parser.py index 39e31515..f69b5a7f 100644 --- a/lerobot/configs/parser.py +++ b/lerobot/configs/parser.py @@ -26,7 +26,6 @@ from lerobot.common.utils.utils import has_method PATH_KEY = "path" PLUGIN_DISCOVERY_SUFFIX = "discover_packages_path" -draccus.set_config_type("json") def get_cli_overrides(field_name: str, args: Sequence[str] | None = None) -> list[str] | None: diff --git a/lerobot/configs/policies.py b/lerobot/configs/policies.py index 022d1fb5..22eae05f 100644 --- a/lerobot/configs/policies.py +++ b/lerobot/configs/policies.py @@ -173,4 +173,5 @@ class PreTrainedConfig(draccus.ChoiceRegistry, HubMixin, abc.ABC): # HACK: this is very ugly, ideally we'd like to be able to do that natively with draccus # something like --policy.path (in addition to --policy.type) cli_overrides = policy_kwargs.pop("cli_overrides", []) - return draccus.parse(cls, config_file, args=cli_overrides) + with draccus.config_type("json"): + return draccus.parse(cls, config_file, args=cli_overrides) diff --git a/lerobot/configs/train.py b/lerobot/configs/train.py index 7a787b83..98826294 100644 --- a/lerobot/configs/train.py +++ b/lerobot/configs/train.py @@ -170,6 +170,5 @@ class TrainPipelineConfig(HubMixin): ) from e cli_args = kwargs.pop("cli_args", []) - cfg = draccus.parse(cls, config_file, args=cli_args) - - return cfg + with draccus.config_type("json"): + return draccus.parse(cls, config_file, args=cli_args)