I have a few structured config classes, which I use mainly as verification schemes.
I define defaults for the corresponding groups in the main config.yaml
Now if I want to do a multi-run over a parameter from these groups, it crashes and it appears that hydra is unable to split the multiple values for that parameter.
The following small example shows that behavior. However, I found out that if I add the group to main config.yaml (the commented config lines below) then it works as expected.
conf/config.yaml:
defaults:
- test: default
# test:
# param: 0
conf/test/default.yaml:
# @package _group_
param: 10
test.py:
from dataclasses import dataclass
import hydra
from hydra.core.config_store import ConfigStore
from omegaconf import MISSING, DictConfig
@dataclass
class TestConfig:
param: int = MISSING
config_store = ConfigStore.instance()
config_store.store(group="test", name="default", node=TestConfig)
@hydra.main(config_path="conf", config_name="config")
def run(config: DictConfig):
print(config.pretty())
if __name__ == "__main__":
run()
* Stack trace/error message *
test.py -m test.param=42,23
Error merging override test.param=42,23
Value '42,23' could not be converted to Integer
full_key: test.param
reference_type=Optional[TestConfig]
object_type=TestConfig
do multirun for values 42 and 23
Add any other context about the problem here.
Thanks for reporting, I will take a look.
in the mean time, can you:
the answer for 1. I could have given in the first post, sorry: it does work when I do not store the corresponding structured config class.
I Will answer 2. later.
ok, and the answer for 2. is obvious: it works as well.
So without structured configs the example both works on 0.11 and 1.0rc.
it works, thanks a lot!
awesome, thanks for for testing!