【发布时间】:2021-02-11 07:03:11
【问题描述】:
我想获取一个配置列表作为(默认)值条目 并使用结构化架构来验证输入列表。
例如,trainer.yaml:
defaults:
- callbacks:
- checkpointer
- early_stopping
在callbacks/checkpointer.yaml 和callbacks/early_stopping.yaml 中,我有一个指向适当结构化配置的链接作为默认值,例如:
# callbacks/checkpointer.yaml
defaults:
- /trainer_lib/callbacks/base_checkpointer@_here_
结构化架构:
@dataclass
class CheckpointerConfig:
_target_: str = "some_library_class"
data_dir: str = "folder"
@dataclass
class TrainerConfig:
callbacks: List[Any] = MISSING
和配置存储:
cs = ConfigStore.instance()
cs.store(group="trainer_lib/callbacks", name="base_checkpointer", node=CheckpointerConfig)
我不确定完成此操作的正确语法是什么(我尝试过的方法失败了)。我收到了omegaconf.errors.ConfigTypeError: Cannot merge DictConfig with ListConfig。
有没有办法做到这一点?谢谢。
【问题讨论】:
标签: fb-hydra hydra-python